我在XmlDocument
内加载了一个XML文档。该文档由绑定到给定模式的XmlReader
加载(由XmlReaderSettings
类)。
如何获取给定文档节点元素的允许属性列表?
XML看起来像这样,并且具有可选属性:
<row attribute1="1" attribute2="2" attribute3="something">
<row attribute1="3" attribute3="something">
<row attribute2="1" attribute3="something">
列表应包含attribute1,attribute2,attribute3
由于
答案 0 :(得分:3)
我使用的是VS2010但2.0 Framework。 因为你有一个模式,你知道属性的名称,我尝试用你的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);
}
}
}
它提供包含所有属性的列表。