日期:2014-05-18  浏览次数:20787 次

请教XML查询判断节点的问题
比如XML下有如下子节点 X(子节点:A,B(子节点:C,D,E)),X(子节点:A,B(子节点:C,D)),如何判断每个X节点下是否有E节点,谢谢!

------解决方案--------------------
用XPath查询:
XmlNode.SelectNodes(string xpath);
------解决方案--------------------
参考XPath用法:http://www.w3school.com.cn/xpath/xpath_syntax.asp


------解决方案--------------------
探讨
比如XML下有如下子节点 X(子节点:A,B(子节点:C,D,E)),X(子节点:A,B(子节点:C,D)),如何判断每个X节点下是否有E节点,谢谢!

------解决方案--------------------
C# code
        bool flag = true;
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath("~/test.xml"));
        XmlNodeList nodes = xmlDoc.SelectNodes(@"//X");
        foreach (XmlNode node in nodes)
        {
            if (node.SelectSingleNode(@".//E") == null)
            {
                flag = false;
                break;
            }
        }
        Response.Write(flag);