【发布时间】:2015-11-19 04:28:57
【问题描述】:
【问题讨论】:
-
我认为 MS 应该对此负责......
【问题讨论】:
因为 X* 系列类是 .NET 3.5 引入的 Linq to XML 的一部分,而 System.Xml 中的 Xml* 系列类是框架中的原始 XML 解析套件。
每个命名空间中的类通常是不兼容的,并且使用不同的模式来遍历 XML。如果您希望使用其中一种,通常建议使用较新的框架。
【讨论】:
MS 写道:
System.Xml 命名空间提供基于标准的支持 处理 XML。
来源:https://msdn.microsoft.com/en-us/library/system.xml%28v=vs.110%29.aspx
System.Xml.Linq 命名空间包含 LINQ to XML 的类。 LINQ to XML 是一个内存中的 XML 编程接口,使您能够 高效、轻松地修改 XML 文档。 使用 LINQ to XML,您可以:
- 列表项
从文件或流中加载 XML。
将 XML 序列化为文件或流。
使用函数式构造从头开始创建 XML 树。
使用 LINQ 查询查询 XML 树。
操作内存中的 XML 树。
使用 XSD 验证 XML 树。
结合使用这些功能将 XML 树从一种形状转换为另一种形状。
来源:https://msdn.microsoft.com/en-us/library/system.xml.linq%28v=vs.110%29.aspx
所以,XNode 属于 System.XML.Linq 命名空间,因为代表 XML 树中节点(元素、注释、文档类型、处理指令或文本节点)的抽象概念。
【讨论】: