问题标签 [xpathnavigator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
633 浏览

c# - XPathNodeIterator 当前值仅适用于父级

我是 XPath 的新手。

使用 C# 我正在尝试读取具有父节点和多个子节点的 XML 文件

使用 XPathNavigator,我在 root/parent 上执行 Select 并将该值分配给 XPathNodeIterator XPathNodeIterator ni = _xpathNavigator.Select(theTag);

然后当我使用 ni.Current.Value 时移至 Next

我从 Parent 以及 Child1 和 Child2 获得文本值

我想要得到的只是 Parent 的值

OuterText 给出了类似的结果。

有人知道如何让这个工作吗?

0 投票
1 回答
413 浏览

.net - XPathNavigator.Select ("self::node()/../..[@numberOfLocationsAdded!='0']")

当我调用 XPathNavigator.Select ("self::node()/../..[@numberOfLocationsAdded!='0']") 我得到一个异常“有一个无效的令牌”

这是因为 XPathNavigator 不能超过它所在的根目录吗?如果是这样,关于如何最好地处理这种情况的任何建议?

当用户设置他们想要迭代的节点时,我们调用 select 并获取 XPathNodeIterator。
然后对于每次迭代,我们调用 XPathNodeIterator.Current,它为我们所在的节点提供了一个 XPathNavigator。

然后针对我们所在的节点进行 XPath 选择,调用 XPathNavigator.Select()

有没有办法有效地做到这一点?或者,如果我们需要支持 ../.. 我们是否需要始终处理根节点并预先添加他们想要迭代的节点的 XPath?

谢谢 - 戴夫

0 投票
1 回答
712 浏览

c# - 在c#中获取非默认命名空间中xmlpath的属性

我正在使用 xpathdocument 通过它们的 xpath 表达式获取一些值,直到涉及到命名空间。

xml:

'

C#代码:

我在这里只得到空节点。

当我通过 xpath 表达式使用 sandart xpath 解析时

我得到了命名空间问题,缺少一些前缀的东西。

0 投票
1 回答
1113 浏览

xml - VB.NET XPathDocument.CreateNavigator 抛出“debuggerDisplayProxy”错误

我是新手,正在学习教程。我对以下代码有一个变体:

但是,“CreateNavigator”返回:“debuggerDisplayProxy”是一种类型,不能用作表达式。

我用谷歌搜索并没有发现任何东西(尽管我不确定要寻找什么)。这似乎是一些基本的东西,它阻止我继续做很多我知道有效的其他东西!

0 投票
2 回答
4410 浏览

c# - 当两个子节点都必须存在时,如何使用 XPath 从 XML 文件中提取子节点?

我正在尝试从 xml 文档中提取某些值。在下面的示例中,我想将存储在“c”和“d”节点中的值存储在列表中,但仅限于“b”节点同时包含“c”和“d”的地方。到目前为止,我的代码循环遍历所有“b”节点,但我不确定在 while 循环中放入什么,或者这是否是最好的方法。

从数据库加载的“SampleXml”是:

任何帮助表示赞赏。

0 投票
1 回答
222 浏览

xml - XML 字符串 - 仅选择某些节点

我尝试在此处查找此内容,但找不到正确的答案。我有一个包含一堆节点的 XML 字符串。
我想从这个字符串中只提取几个节点并将其附加一个新的根元素并返回它。

我知道如何通过将其加载到 XMLDocument 并选择节点来做到这一点。使用 XpathNavigator 或 XmlReader 是否有更好的方法?

这是我的字符串

我希望我的输出字符串是

必须以有效的方式完成。

0 投票
2 回答
11920 浏览

c# - 当我知道确切路径时,如何使用 c# 找到 XML 元素?

如何从 xml 文档中获取信息?我在 c:\temp\data.xml 有一个 xml 文档,并且正在使用 Visual Studio。

我能想到的最接近的是:

XML 文档如下所示:

我想做的就是抓住那个日期 2012-08-09 21:53:00 +0000 ...有什么建议吗?

0 投票
1 回答
787 浏览

c# - XPath 用于选择特定节点下的节点,其间有零个或多个节点

我的 Xml 看起来像这样

p>

我需要选择名称为“Iam”的 <parent> 下所有名称为“wii”的 <toy> 节点。请注意,<toy> 可以是 <parent> 的直接子代,也可以是 <parent> 的孙子代(在 <child> 下)

<child>节点可以有 0 个或多个基数。

我尝试将此 xpath /parent[@name='Iam']/*/toy[@name='wii']与 XPathNavigator 一起使用。

这显然是错误的,因为它失败了。

我需要 xpath 来选择 <parent> 和 <toy> 之间具有 0 或更多基数的所有节点。

我无法更改 XML 的格式。

0 投票
4 回答
302 浏览

xml - XPath - 确定一棵树是否只有一种类型的“叶”节点

我需要一个 XPath 表达式来验证 XML 列表元素是否只有某种类型的节点。例子:

我需要知道列表是否只有图像。

上面的 XML 是 TRUE

上面的 XML 是 FALSE

0 投票
0 回答
241 浏览

xpathnavigator - c# XPath Navigator Select 语句由于对令牌的误解而失败

当 http:// 地址加载到 Q91_1 时尝试返回与任何“Qx_x”关联的值时,导航器失败,因为它将“ProjectId”中的“Id”解释为有效令牌 - 即使意图是只拾取 "f id=" 。有没有办法更改创建的表达式以防止导航器无法正常运行?

上面在 StringReader 中引用的“SurveyResponses”中的数据如下所示。

DataResponse XML 结构如下所示(移除开始结束箭头以允许在此处输入 Fields f id="Q21_1">30121 /f f id="Q91_1">http://xxx.yyy.net/run.aspx?GroupId=188&ProjectId= 1096&RecordId=634 /f f id="Q48_3">22101 /f /Fields

只要包含 URL 的字符串不包含在 XML 中,该代码就可以正常工作。