我正在編寫一個需要與我們使用的現有XML結構完全匹配的XML文件的ac#類,以便一些遺留系統不會感到困惑。如果InnerText爲null,則編寫一個XML元素<element/>而不是<element></element>
當一個元素的innerText值爲空,我需要的XML元素的元素標記要像
<element/>
,而不是
<element></element>
我管理偶然較早做但一直無法重複。 這裏是我用寫的XML文件的方法的一個示例:
public bool WriteXML(string path)
{
// Create the xml document in memory inc. xml declaration
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
// Create the root element
doc.AppendChild(dec);
XmlElement rootNode = doc.CreateElement("root");
doc.AppendChild(rootNode);
// Create elements at root node
XmlElement XE_level1 = doc.CreateElement("level1");
XE_level1.InnerText = "Text";
rootNode.AppendChild(XE_level1);
// Create a user data element
XmlElement XE_level2 = doc.CreateElement("level2");
XE_level2.InnerText = "Text";
XE_level1.AppendChild(XE_level2);
doc.Save(path);
}
「中WriteXML(串):並非所有的代碼路徑返回一個值」 –
對不起,如果你需要這種行爲在很多地方,你可以寫簡單的擴展方法。我爲這個例子削減了很多。如果發生異常,真正的有try/catch並返回false –