当前位置:编程学习 > C#/ASP.NET >>

XMLxml读取节点的问题

<Products>
<Product seq="1">
<PName>A1</PName>
</Product>
<Product seq="2">
<PName>A2</PName>
</Product>
<Product seq="3">
<PName>A3</PName>
</Product>
</Products>
//通过下面代码读取每个PNAME,但获得的值是一样的
XmlNodeList productlist = doc.SelectNodes("//Products");
for (int i = 0; i < productlist.Count; i++)
{
string seq = productlist[i].Attributes["seq"].Value; //这里能得到1,2,3
XmlNode node = productlist[i].SelectSingleNode("//PName");
stromg pname=node.InnerText;     //为什么这里一直是A1的值?
}

怎么能通过循环得到每个Product节点,得到里面的PName的值
--------------------编程问答-------------------- http://blog.csdn.net/happy09li/article/details/7460521 --------------------编程问答-------------------- 请弄明白XPath中的“//”是什么意思,你的语句应该这么写才对:
            XmlNodeList items = doc.SelectNodes("//Products/Product");

            for (int i = 0; i < items.Count; i++)
            {
                string seq = items[i].Attributes["seq"].Value;
                string pname = items[i].SelectSingleNode("PName").InnerText;
            }
--------------------编程问答-------------------- 选取节点

XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。

下面列出了最有用的路径表达式:


表达式

描述

nodename 选取此节点的所有子节点。 
/ 从根节点选取。 
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 
. 选取当前节点。 
.. 选取当前节点的父节点。 
@ 选取属性。 
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,