1

如何检查以下xml中产品节点是否存在子节点:

   <product>
        <SysSectionName>Processors</SysSectionName>
        <section>
          <subsection>
            <SysSectionName>CPU#1</SysSectionName>
          </subsection>
       </section>
  </product>

我试过这个:

foreach (XmlNode xn1 in sectionNode)
{
  XmlNode node = xn1.FirstChild; 
  if (xn1.HasChildNodes)
  {
     //do something..
  }     
}
4

4 回答 4

1

尝试使用这段代码从 XML 中获取产品节点:

XDocument doc = XDocument.Parse("Your Xml String");

var products = doc.Descendants("product");

foreach (var product in products)
{
    //... do something ...
}
于 2012-10-11T10:43:37.010 回答
1
XmlNodeList snode = xmldoc.SelectNodes("/product/section/subsection");
foreach (XmlNode xn2 in snode)
{
    //it comes inside if there will be a child node.
}
于 2012-10-11T12:04:58.583 回答
0

您的意思是要查找产品节点是否有任何子节点?如是,

XmlNodeList productNodes = xmlDoc.SelectNodes("Product");
foreach(XmlNode pNode in productNodes)
{
  if(pNode.ChildNodes.count >0)
  {
  }
}
于 2012-10-11T10:43:41.650 回答
0

我认为 Xlinq(用于 Xml 的 Linq)是您正在寻找的。然后您应该使用 XDocument 加载 Xml,并且对于任何 XElement,您都有“Descendants()”方法,该方法返回子 XElement 的列表。如果没有子元素,则列表也将没有元素。

于 2012-10-11T10:44:17.683 回答