如何获取 XML 中的所有子元素?

发布于 2024-09-08 06:43:06 字数 315 浏览 3 评论 0原文

来自此 XML 响应: http://www.dreamincode.net/forums/xml .php?showuser=335389

我想抓取所有用户好友。我需要从朋友那里获取所有信息。通常,在我得到的帮助下,我会使用唯一的 ID 来获取每个用户,但由于每个用户没有相同的朋友,因此它必须是动态的,而且我无法对任何内容进行硬编码。

有人可以分享一些 XDocument 的魔法吗?

From this XML response: http://www.dreamincode.net/forums/xml.php?showuser=335389

I want to grab all of the users friends. I need to grab all of the information from the friends. Usually with the help I've been given I would use the unique ID to grab each, but since each users doesn't have the same friends it has to be dynamic and I can't hard code anything.

Would anyone please share some XDocument magic?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪意 2024-09-15 06:43:06

您可以像这样从 XML 文档中获取 元素中的所有 元素:

var url = "http://www.dreamincode.net/forums/xml.php?showuser=335389";
var doc = XDocument.Load(url);
var friends = doc.Element("ipb").Element("profile")
                 .Element("friends").Elements("user");

// Or if you don't want to specify the whole path and you know that
// there is only a single element named <friends>:
var friends = doc.Descendant("friends").Elements("user");

然后您可以使用 LINQ 来处理该集合。例如,要创建包含所有朋友名称的 IEnumerable,您可以编写:

var names = from fr in friends 
            select fr.Element("name").Value;

如果您需要唯一 ID,则可以读取 元素以类似的方式(如果它是一个整数,您也可以使用 Int32.Parse 来解析它,例如......)

You can get all <user> elements in the <friends> element from the XML document like this:

var url = "http://www.dreamincode.net/forums/xml.php?showuser=335389";
var doc = XDocument.Load(url);
var friends = doc.Element("ipb").Element("profile")
                 .Element("friends").Elements("user");

// Or if you don't want to specify the whole path and you know that
// there is only a single element named <friends>:
var friends = doc.Descendant("friends").Elements("user");

Then you can use LINQ to process the collection. For example, to create a IEnumerable<string> with the names of all frineds, you could write:

var names = from fr in friends 
            select fr.Element("name").Value;

If you needed unique ID, you could read the <id> element in a similar way (if it is an integer, you could also parse it using Int32.Parse for example...)

心的憧憬 2024-09-15 06:43:06

您可以使用 XPath 查询

http://www.w3schools.com/xpath/xpath_examples.asp< /a>

示例使用 JScript,但 .NET 也支持它

you can probably use XPath query

http://www.w3schools.com/xpath/xpath_examples.asp

the examples uses JScript but it is also supported in .NET

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文