4

我在XmlDocument. XmlReader文档由绑定到给定模式(由XmlReaderSettings类)的 加载。

如何获取给定文档节点元素的允许属性列表?

XML 看起来像这样并且具有可选属性:

<row attribute1="1" attribute2="2" attribute3="something">
<row attribute1="3" attribute3="something">
<row attribute2="1" attribute3="something">

该列表应包含属性 1、属性 2、属性 3

谢谢

4

1 回答 1

3

我用过 VS2010 但 2.0 框架。因为您有一个架构,所以您知道属性的名称,我尝试使用您的 XML 示例创建了一个基本标记。

XML

<base>
      <row attribute1="1" attribute2="2" attribute3="something"/>
      <row attribute1="3" attribute3="something"/>
      <row attribute2="1" attribute3="something"/>
</base>

代码隐藏

        XmlDocument xml = new XmlDocument();
        xml.Load(@"C:\test.xml");

        List<string> attributes = new List<string>();

        List<XmlNode> nodes = new List<XmlNode>();
        XmlNode node = xml.FirstChild;
        foreach (XmlElement n in node.ChildNodes)
        {
            XmlAttributeCollection atributos = n.Attributes;
            foreach (XmlAttribute at in atributos)
            {
                if(at.LocalName.Contains("attribute"))
                {
                    attributes.Add(at.Value);
                }
            }
        }

它给出了一个包含所有属性的列表。

于 2013-03-05T13:28:30.623 回答