检索 XML 树值的特定部分 [英] Retrieve specific part of XML tree value

查看:21
本文介绍了检索 XML 树值的特定部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有一个用数据填充的 Xml.XmlNodeList 变量xmlNodes".xmlNodes(0).InnerText 包含以下内容:

Have an Xml.XmlNodeList variable "xmlNodes", populated with data. The xmlNodes(0).InnerText contains the following:

<InitializePagedPull ShowCode="AR13dfD">
   <TokenInfo PageToken="293845657-32-47" TotalRecords="1" PageSize="20" TotalPages="1" />
</InitializePagedPull>

我想获得 TokenInfo.PageToken 值......而不必使用一些古老的string.indexOf() string.substring(x,y)"方法

I'd like to get the TokenInfo.PageToken value... without having to use some archaic method of "string.indexOf() string.substring(x,y)"

我尝试基于当前的 xmlNodes(0).InnerText 创建一个子 XmlDocument...然后使用 GetElementsByTagName("TokenInfo")...这让我更接近...但我仍然无法轻松获取其中的 PageToken 值.

I've tried creating a child XmlDocument based on the current xmlNodes(0).InnerText... and then using GetElementsByTagName("TokenInfo")... which gets me a little closer... but I'm still unable to easily grab the PageToken value within.

推荐答案

使用 XPath 的答案仍然过时.自从 LINQ to XML 统治所有这些以来,已经十多年了.来吧.

The answer that is using XPath is still archaic. It is already more than a decade since LINQ to XML rules them all. Here we go.

c#

void Main()
{
    XElement xml = XElement.Parse(@"<InitializePagedPull ShowCode=""AR13dfD""><TokenInfo PageToken=""293845657-32-47"" TotalRecords=""1"" PageSize=""20"" TotalPages=""1""/></InitializePagedPull>");
    string pageToken = xml.Descendants().Attributes("PageToken").FirstOrDefault().Value;
}

这篇关于检索 XML 树值的特定部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆