我有一個這樣的XML文件:創建或XML代替節點沒有根在C#
<Something>....</Something>
<Another>....</Another>
<Other>...</Other>
而且這個XML文件還沒有一個根元素(我知道這是一個錯誤的XML格式)。
我需要創建或替換,如果已經存在此XML節點,但我不能用XDocument
或XmlDocument
工作,因爲他們需要一個根元素的工作,我不能根元素添加到這個XML,因爲我不能改變更多的代碼在應用程序(Windows窗體應用程序)中。 我有什麼選擇來執行此操作?
編輯1: 使用@chridam示例我有這種方法,但它取代了整個XML ...我需要更改什麼?
public void ReEscribirNodoXML(string pathXml, string nodoName, string nodeContent)
{
if (File.Exists(pathXml))
{
XmlValidatingReader vr = new XmlValidatingReader(pathXml, XmlNodeType.Element, null);
while (vr.Read())
Debug.WriteLine("NodeType: {0} NodeName: {1}", vr.NodeType, vr.Name);
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
settings.NewLineOnAttributes = true;
var writer = XmlWriter.Create(pathXml, settings);
writer.WriteStartElement(nodoName);
writer.WriteRaw(nodeContent);
writer.WriteEndElement();
writer.Flush();
}
else
{
throw new Exception("i#Error");
}
}
如何''.....樣子?它是多行xml數據還是每個元素在文件中表示爲單行? –
'.....'是單行,但是新元素(或者已經存在並且應該被替換)是多行的。 –