XML解析:属性而不是元素

时间:2013-02-08 23:52:46

标签: c# xml linq parsing linq-to-xml

所以我有这个c#代码,可以很好地将以下XML解析为数组:

var doc = XDocument.Load(path).Root
                              .Elements()
                              .Select(y => y.Elements().ToDictionary(x => x.Name, x => x.Value))
                              .ToArray();

XML:

<?xml version="1.0" encoding="utf-8" ?>
<bbb>
    <a>
        <x>green</x>
        <y>4</y>
        <z>3</z>
    </a>
</bbb>

但我希望能够像

那样编写XML
<a x="green" y="4" z="3" />

我应该如何更改C#以使其结果相同?

1 个答案:

答案 0 :(得分:3)

试试这个:

.Select(y => y.Attributes()
              .ToDictionary(x => x.Name, x => x.Value))