我正在向XML文件添加節點,但我需要將其正確格式化。你能協助嗎?添加具有格式的XML節點
String newFile = System.IO.Path.GetFileName(textBox1.Text);
//file name
string filename = @"palette.xml";
XmlDocument doc = new XmlDocument();
doc.Load(filename);
//create node and add value
XmlNode node = doc.CreateNode(XmlNodeType.Element, "item", null);
//create title node
XmlNode nodeTitle = doc.CreateElement("name");
//add value for it
nodeTitle.InnerText = @"<![CDATA["+newFile+"]]>";
//create Url node
XmlNode nodeUrl = doc.CreateElement("imgfile");
nodeUrl.InnerText = newFile;
//add to parent node
node.AppendChild(nodeTitle);
node.AppendChild(nodeUrl);
//add to elements collection
doc.DocumentElement.AppendChild(node);
//save back
doc.Save(filename);
的XML應該尋找這樣的:
<item>
<name><![CDATA[panda.gif]]></name>
<imgfile>panda.gif</imgfile>
</item>
,但它看起來像:
<item>
<name><![CDATA[panda.gif]]></name>
<imgfile>panda.gif</imgfile>
</item>
您能給一個更好的解釋? – Andrew 2011-12-27 17:58:00
不用擔心......好吧,你在代碼中做的方式是試圖將CDATA直接放入內部文本中。這就是爲什麼它解析不正確。我上面給你的那一行是使用XMLDocument類來調用一個名爲CreateCDataSection的方法來將你的字符串封裝在CDATA中。 – Algorhythm 2011-12-27 18:57:16