[C#] XmlDocument與XElement比較


     做項目時,為了更方便的檢索與使用XMl,我比較習慣用XElement,但是,其他人覺得麻煩,“凡是foreach一下就好了嘛!”,我只能說,時代在變,你們Outer了,兩種不同的xml解析方式在代碼維護方面帶來了不少的麻煩,但我們並不願意妥協,下面講講我遇到的問題,比較一下兩種解析方式的不同。

 

命名空間:

XmlDocument:System.Xml;

XElement:System.Xml.Linq;

 

反序列化:

XmlDocument doc=new XmlDocument();
doc.LoadXml(xmlStr);
 
XElement xe = XElement.Parse(xmlStr);

     其中XElement.Parse(xmlStr)時,當xmlStr中含有&符號時,會失敗!

 

序列化:

XmlDocument 在ToString()的時候只保留文本,而XElement則會保留格式,這在一些ajax使用里面會有些許問題,一般xml序列化我們並不需要保留空格、回車、制表符等格式,js處理起來有些麻煩。血的教訓啊!

去掉格式代碼:

string xml = "<root>  <id>    </id></root>";
XElement xe = XElement.Parse(xml);
string rx = Regex.Replace(xe.ToString(), ">\\s*<", "><");
Console.Write(rx);
Console.ReadKey();

 

此文慢慢記錄發現,長期更新!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM