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