【发布时间】:2013-02-13 18:31:45
【问题描述】:
我知道每个人都说在 C# 中解析 XML 的最佳方法是使用 XmlDocument 类并执行以下操作:
XmlNodeList list = xmlDoc.getElementsByTagName('tag');
但是,我喜欢 JavaScript 封装其 XML 和 JSON 的方式,其中 XML 或 JSON 文档中的每一级封装都可以使用“.”来访问。即:
test.xml
<item>
<title>Title</title>
<desc>
<meta>MetaData</meta>
<content>Ipsum Lorem</content>
</desc>
<date>1/1/2013</date>
</item>
在 javasript 中,我可以解析这个 XML 文件并将其分配给一个对象 var obj。然后我可以做类似的事情:
obj.item[0].title ( 'Title' )
obj.item[0].desc.meta ('MetaData')
是否有任何 C# 库可以将 XML 解析为类似的内容,还是我必须以其他方式进行?
【问题讨论】:
-
没有这样的库,因为C#是编译的,JS是解释的。如果 XML 是静态的,您可以创建可以反序列化 XML 的类。有一个工具可以从 XML 生成这样的类。或者您可以使用 XDocument - 比自定义类更详细但比 XmlDocument 更好
-
我知道“每个人”都没有说使用 XmlDocument。我个人说使用
XDocument和 LINQ to XML。