如何从 XmlDocument 对象获取 XML 元素?
假设使用以下代码成功加载了 XmlDocument:
var doc = new XmlDocument();
doc.Load(stream);
这是 XML 流的示例部分(完整的 XML 流大约有 10000 个 ProductTable):
<ProductTable>
<ProductName>Chair</ProductName>
<Price>29.5</Price>
</ProductTable>
使用 Linq,如何访问 ProductName 和 Price 元素?谢谢。
Assume that an XmlDocument is successfully loaded with this code:
var doc = new XmlDocument();
doc.Load(stream);
This is a sample portion of the XML stream (the complete XML stream has about 10000 of ProductTable's):
<ProductTable>
<ProductName>Chair</ProductName>
<Price>29.5</Price>
</ProductTable>
Using Linq, how do I access the ProductName and Price elements? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议使用
XDocument
而不是XmlDocument
(后者不适合 LINQ to XML)。使用XDocument.Load(...)
方法加载“真实”XML。如果您更喜欢使用类似 SQL 的糖衣语法或想阅读该主题,这篇 MSDN 文章 是一个很好的起点。
如果您想使用匿名类型,以下是更简洁的版本:
然后您可以使用此表达语法在控制台中打印匹配项:
I suggest using an
XDocument
instead of anXmlDocument
(the latter is not suited for LINQ to XML). Use theXDocument.Load(...)
method to load your "real" XML.If you'd prefer to use sugar-coated SQL like syntax or would like to read up on the topic, this MSDN article is a great place to start.
The following is a more concise version if you feel like using an anonymous type:
You could then use this expressive syntax to print the matches in the console: