仍在学习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(....)
但显然我做错了,因为我尝试的一切都是错误的。
答案 0 :(得分:0)
您还没有向我们展示您的xml文件的结构。docCustomer
是指您的xml文档,如果您想获得Root
使用的子元素:
docCustomer
.Root.Element("address")
.Attributes()
.ToDictionary(x => x.Name, x => (string)x);
如果address
不是您的root的直接元素,那么这将不起作用。如果是这种情况,请使用Descendants
:
docCustomer
.Descendants("address")
.First()
.Attributes()
.ToDictionary(x => x.Name, x => (string)x);