首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

XML读取有关问题请求高手帮忙

2012-03-08 
XML读取问题请求高手帮忙!protected void ReadXml(string accountId){XmlTextReader xtr new XmlTextRea

XML读取问题请求高手帮忙!
protected void ReadXml(string accountId)
  {
  XmlTextReader xtr = new XmlTextReader("XML/Url.xml");
  string SpecielUrl= ????????  
}

现在又这样一个xml文件
<?xml version="1.0" encoding="utf-8" ?>
<items>
  <item>
  <AccountId>7938</AccountId>
  <SpecielUrl>http://7938.gz.6262988.com/cn/1069220/1115282.html</SpecielUrl>
  <ClassicUrl>http://7938.gz.6262988.com/cn/1069220/1115282.html</ClassicUrl>
  <RecommendUrl>http://7938.gz.6262988.com/cn/1069220/1115282.html</RecommendUrl>
  <InfoPage>http://7938.gz.6262988.com/cn/1069220/1115282.html</InfoPage>  
  </item>
  <item>
  <AccountId>10001</AccountId>
  <SpecielUrl>http://3453.gz.com/cn/1069220/1115282.html</SpecielUrl>
  <ClassicUrl>http://3453.gz.com/cn/1069220/1115282.html</ClassicUrl>
  <RecommendUrl>http://3453.gz.com/cn/1069220/1115282.html</RecommendUrl>
  <InfoPage>http://3453.gz.com/cn/1069220/1115282.html</InfoPage>
  </item>
</items>

我要获取节点<AccountId>进行判断,
如果值等于7938,我就获取<AccountId>下边的所有同级节点(兄弟节点)http://7938.gz.6262988.com,
如果值等于10001,我就获取<AccountId>下边的所有同级节点(兄弟节点)http://3453.gz.com/cn

麻烦给出详细C#代码,小弟在此先谢过!

[解决办法]
通过xpath获取所有的AccountId节点,判断AccountId的值。
如果值等于7938,获取AccountId的父节点,然后获取父节点的所有孩子节点
如果值等于10001,同上

伪代码
List<Node> list=document.getSelectNodes("./items/item/AccountId");
foreach(Node in list){
if(node.Text=="7938"){
 Node parent=node.Parent;
 List<Node> children= parent.Children;
.....
}
.....
}
[解决办法]
利用xmldocument和xpath查找一下就可以了,很方便。
参考这篇http://blog.csdn.net/cds27/archive/2008/04/18/2305166.aspx

热点排行