如何解析此XML中的信息?

时间:2010-10-25 16:01:21

标签: c# xml linq-to-xml

这是我想要抓取的XML的一个例子:

http://www.dreamincode.net/forums/xml.php?showuser=335389

请注意,contactinformation标签有许多接触元素,每个接触元素相似但值不同。

例如,包含AIM内容的元素,如何获取与AIM内容元素属于同一系列的Value标记的内容?

那就是我被困住的地方。谢谢!

基本上:我需要找到AIM内容标记,记下它的位置,并在同一个系列中找到Value元素。希望这会使问题更加清晰

3 个答案:

答案 0 :(得分:4)

LINQToXML

var doc = XDocument.Load(@"http://www.dreamincode.net/forums/xml.php?showuser=335389");
var aimElements = doc.Descendants("contact").Where(a=>a.Element("title").Value == "AIM").Select(a=>a.Element("value").Value);

这将为您提供一个字符串列表,其中包含具有标题AIM的联系人的value元素的值,如果您认为应该只有1

,则可以执行First()或FirstOrDefault

答案 1 :(得分:3)

使用如下所示的xpath将获得联系人/标题为“AIM”的联系人/值节点:

/ipb/profile/contactinformation/contact[title='AIM']/value

答案 2 :(得分:1)

你是否试图解析XML而不是“刮”它?