部分XML内容:
<section name="Header">
<placeholder name="HeaderPane"></placeholder>
</section>
<section name="Middle" split="20">
<placeholder name="ContentLeft" ></placeholder>
<placeholder name="ContentMiddle"></placeholder>
<placeholder name="ContentRight"></placeholder>
</section>
<section name="Bottom">
<placeholder name="BottomPane"></placeholder>
</section>
我想检查每个节点,如果属性 split
存在,尝试在变量中分配一个属性值。
在一个循环中,我尝试:
foreach (XmlNode xNode in nodeListName)
{
if(xNode.ParentNode.Attributes["split"].Value != "")
{
parentSplit = xNode.ParentNode.Attributes["split"].Value;
}
}
但如果条件只检查值,而不检查属性的存在,我就错了。我应该如何检查属性是否存在?
最佳答案
您实际上可以直接索引到 Attributes 集合(如果您使用的是 C# 而不是 VB):
foreach (XmlNode xNode in nodeListName)
{
XmlNode parent = xNode.ParentNode;
if (parent.Attributes != null
&& parent.Attributes["split"] != null)
{
parentSplit = parent.Attributes["split"].Value;
}
}
关于c# - 如何检查 XML 中是否存在特定属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7186796/