我想對現有XML文件中的一個分支執行對象序列化。在閱讀使用:XmlTextWriter將對象序列化到XML元素
RiskConfiguration AnObject;
XmlSerializer Xml_Serializer = new XmlSerializer(typeof(RiskConfiguration));
XmlTextReader XmlReader = new XmlTextReader(@"d:\Projects\RiskService\WCFRiskService\Web.config");
XmlReader.ReadToDescendant("RiskConfiguration");
try
{
AnObject = (RiskConfiguration)Xml_Serializer.Deserialize(XmlReader);
AnObject.Databases.Database[0].name = "NewName";
}
finally
{
XmlReader.Close();
}
這是可能的,我不知道如何編輯的對象再次進行它可以保存文件,而不會在一個XML文件中刪除現有的其他元素。誰能幫我?
我找到了一種顯示所需項目序列化的方法。我現在該怎麼做,而不是粘貼到XML中的原始元素?
StringWriter wr = new StringWriter();
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
settings.Encoding = System.Text.Encoding.Default;
using (XmlWriter writer = XmlWriter.Create(wr, settings))
{
XmlSerializerNamespaces emptyNamespace = new XmlSerializerNamespaces();
emptyNamespace.Add(String.Empty, String.Empty);
Xml_Serializer.Serialize(writer, AnObject, emptyNamespace);
MessageBox.Show(wr.ToString());
}
是否有其他訪問xml文件,或者是你的唯一使用它的過程?如果沒有,您可以維護一個XDocument或XmlDocument,它保存原始XML,並在更新文檔時將我們想要序列化/反序列化的相關部分拉回到磁盤。 – Jay