<?xml version="1.0" encoding="GB2312" ?>
- <allproducts version="1.0">
- <products>
<product name="prodId" value="1" />
<product name="prodContent" value="A" />
<product name="prodPrice" value="123" />
<product name="prodIsptype" value="AAA" />
<product name="prodDelaytimes" value="AAA" />
<product name="prodProvinceid" value="111" />
<product name="prodType" value="AAA" />
</products>
- <products>
<product name="prodId" value="2" />
<product name="prodContent" value="B" />
<product name="prodPrice" value="456" />
<product name="prodIsptype" value="BBB" />
<product name="prodDelaytimes" value="BBB" />
<product name="prodProvinceid" value="222" />
<product name="prodType" value="BBB" />
</products>
- <products>
<product name="prodId" value="3" />
<product name="prodContent" value="C" />
<product name="prodPrice" value="789" />
<product name="prodIsptype" value="CCC" />
<product name="prodDelaytimes" value="CCC" />
<product name="prodProvinceid" value="333" />
<product name="prodType" value="CCC" />
</products>
</allproducts>
我这里有一段XML字符串,我想通过查询 prodContent、prodIsptype、prodProvinceid 这三个内容,来获取同一<products> 下 prodId、prodPrice的值,无从下手!求教。xpath:
//products[@prodContent="xxx" and @prodIsptype="yyy" and prodProvinceid="zzz"]
这个XPATH能根据这三个条件找到你要的products,剩下的应该都不是问题了吧?伪代码
search(String iprodContent,String iprodIsptype,String iprodProvinceid ){
取得root节点
List products = root.selectNodes("/products");
foreach(var i in products)//循环List
//逐个循环products
// 取得属性name的值 如果等于prodContent,取得属性value的值。继续取另外两个属性
// 判断取得的value是否等于参数的值
// 是的话 取出prodId、prodPrice的值
}
用xpath就很简单,楼主可看下我的博客喔