引言虽然现在Json在我们的数据交换中越来越成熟,但XML格式的数据还有很重要的地位。 C#中对XML的处理也不断优化,那么我们如何选择XML的这几款处理类 XmlReader,XDocument 和XmlDocument了? 本文就从对照的方式来总结C#中XML的用法。 简介System.Xml 命名空间(XmlDocument)为处理 XML 提供基于标准的支持。 LINQ to XML(XDocument )可以进行以下操作:
XmlReader,XDocument 和XmlDocumentXDocument 和XmlDocument会把所有的XML所有的节点加载到内存中,而XmlReader则不会把所有节点一起加载到内存,而在一定的内存下处理较大的XML。 如果XML文件结构固定,处理比较简单,建议使用XmlReader可以提高程序的性能。 如果XML文件不大或者要做复杂的处理建议使用XDocument。Linq 让程序员省去了很多繁琐冗余的代码,并且兼容设备也比较多,不像XmlDocument在一些设备和系统中不支持。
XDocument VS. XmlDocument
创建XML文档使用XmlDocument 的示例使用XDocument 的示例
加载XML文件使用XmlDocument 的示例 使用XDocument 的示例
命名空间的处理使用XmlDocument 的示例 使用XDocument 的示例 示例1,增加namespace 示例2,读取含有namespace的文件 string markup = @" <aw:Root xmlns:aw='http://www.'> <aw:Child1>child one data</aw:Child1> <aw:Child2>child two data</aw:Child2> </aw:Root>";
XDocumentXDocument VS. XElement
XElement.Load()示例代码
XDocument.Load() 示例代码:
XPathXPath的强大之处在于处理元素导航还可以进行计算
示例: XML文档
C#处理计算
这里只是总结知识点,但具体的关于更多XPath的内容可以移步到XPath 教程
XML 批注(注释)
总结现在再写XML相关的程序建议直接使用XDocument,XmlDocument只是主要还是兼容以前的代码。 另外XPath功能让XDocument如虎添翼,所以大家可以多研究下XPath. 至于XSD和XSL本文不做涉及,又需要的朋友参看参考文献
参考
2.使用XmlReader读Xml,使用XmlWriter写Xml 9.W3CSchool中提供的XML相关课程 |
|