기존 XML 파일에서 하나의 분기에만 객체 직렬화를 수행하고 싶습니다. 사용하여 읽는 동안 : 그것은 가능하다XmlTextWriter 객체를 XML 요소로 serialize
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 파일에 액세스하는 다른 프로그램이 있습니까? 아니면 그 프로그램을 사용하는 유일한 프로세스입니까? 그렇지 않으면 원본 XML을 보유하고있는 XDocument 또는 XmlDocument를 유지 관리하고 문서를 업데이트 할 때 serialise/deserialise 및 디스크로 플러시 할 관련 부분을 가져옵니다. – Jay