迭代所有未知的XML属性

时间:2017-01-05 16:08:23

标签: c# xml

我希望使用C#迭代XML文件中所有给定标记的所有属性,如本例所示。

XmlTextReader reader = new XmlTextReader("C:\\PathToXml\File.xml");
var optionTitle = reader.Name;                           
var AttributeName = reader.LocalName;
var AttributeValue = reader.GetAttribute(AttributeName);
var itemValue = new ListViewItem(new[] { optionTitle, AttributeName, AttributeValue });
listView1.Items.Add(itemValue);

XML很长,标签和属性命名可以更改。 因此,我必须找到一种方法来使用未知命名迭代它们。 我用

进行了测试
{{1}}

但我只获得标签名称而没有别的......

有没有人对我有所了解?

3 个答案:

答案 0 :(得分:1)

我更喜欢使用Linq2Xml

V3(double, double, double)
V3(const V3 &)
V3(const V3 &)
V4(V3, double)

答案 1 :(得分:0)

您应该使用XDocument类,它可以更简单地访问XML文档。

var doc = XDocument.Load("C:\\PathToXml\File.xml");
foreach(var el in doc.Descendants())
   foreach(var attr in el.Attributes())
   {
        var itemValue = new ListViewItem(new[] { el.TagName, attr.Name, attr.Value });
        listView1.Items.Add(itemValue);
   }

答案 2 :(得分:0)

您应该使用XDocument加载xml文件。然后使用XElement.Attributes这样的

获取所有属性
var document = XDocument.Load("C:\\PathToXml\File.xml");
foreach (var attribute in document.Root.Attributes)
{
    //process the attribute
    //attribute.Name
    //attribute.Value
}