从元素获取属性列表
本文关键字:列表 属性 获取 元素 | 更新日期: 2023-09-27 18:04:37
还在学习LINQ to XML,我在解析我想要的数据时遇到了麻烦。
XML是这样的:
<address address1="5750 Ramirez Canyon Road" city="Malibu" state="CA" otherstate=" " postalcode="90265" country="US">
我想创建一个包含所有属性的字典。我一直在尝试各种各样的东西,我只是把自己弄糊涂了。我一直得到空引用异常错误等。我一直在尝试这样的东西:
var address = docCustomer
.Element("address")
.Attributes()
.ToDictionary(....)
但很明显我做错了什么,因为我所做的一切都失败了。
还没有向我们展示xml文件的结构。docCustomer
引用您的xml文档,如果您想获得Root
的子元素,请使用:
docCustomer
.Root.Element("address")
.Attributes()
.ToDictionary(x => x.Name, x => (string)x);
如果address
不是根的直接元素,这将不起作用。如果是这种情况,请使用Descendants
:
docCustomer
.Descendants("address")
.First()
.Attributes()
.ToDictionary(x => x.Name, x => (string)x);