问题标签 [xpathnodeiterator]

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 回答
417 浏览

c# - 循环通过 XPathNodeIterator 问题

我创建了一个 XPathNodeIterator,其中包含一些简短的 XML 段(每个段都有一个文件描述):

现在,当尝试循环它们时,似乎每次只选择第一段。这是我尝试过的两个版本的循环(仅以文件/文件类为例):

另一个尝试:

当使用 Watch 或 Quickwatch 在循环中查看单个片段时,它看起来应该是,所有不同的片段一次选择一个 - 但最终结果是“文件”包含第一个片段的多个副本。

这是 XPathNodeIterator 的正常行为吗?或者这里缺少什么?我目前正在使用 .NET Framework 3.5。

0 投票
1 回答
218 浏览

asp.net - 为什么这个 XPath 表达式会获取太多数据?

我有一个 XPath 表达式,它应该只返回/获取 XML 文档中的一个节点。但它得到的不仅仅是一个。我不明白为什么。

代码隐藏:

XML 文档:

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 投票
3 回答
16122 浏览

c# - XPathNodeIterator 从迭代数据中访问子节点

我已经从 xml 文件中选择了所有书籍。如何使用 XPath 为每本书选择标题、作者(名字和姓氏)和价格?

0 投票
0 回答
253 浏览

javascript - offsetLeft 值意外更改

考虑以下代码段:

我遇到的问题是:对于某些元素,offsetLeft第二次计算时的计算不同。使用谷歌浏览器的检查器,我可以看到第二次计算offsetLeft总是准确的。

在节点迭代期间完成的offsetLeft计算对于某些元素是错误的,但始终如一(在页面刷新期间该值始终相同)。

我想知道是否有人对为什么会这样有任何见解。我一直在想,它iframe.onload实际上是在其元素contentDocument完全加载完成之前触发的,导致某些元素最初向左或向右更远。

0 投票
1 回答
486 浏览

c# - How do i loop thourgh XPathNodeIterator and randomize its children?

As per title, i need to create a method in C#/.NET 4 that can jumble the order a XPathNodeIterator object. The method needs to loop though all the child items ("/*") to randomly reorder the children.

I need some help to some to get started - All i have is the method stub:

Any help is appreciated! Thanks

0 投票
0 回答
349 浏览

c# - 如何将 XPathNavigator 对象的集合转换为 XPathNodeIterator

如何将XPathNavigator对象集合转换为XPathNodeIterator对象集合?

下面是一个示例代码:

0 投票
2 回答
918 浏览

c# - 将 XSLT 元素传递给 C# 代码

在我的 XML 中,我有这样的东西:

我希望能够将整个<person>部分传递给我的代码隐藏,以便在我的 C# 代码中,我可以访问所有子节点 ( <name>, <first>, <last>)。

我正在使用 XSLT 生成我的 HTML,在我的 XSLTfile 中,我有这样一行:

在我的代码隐藏中调用它:

我想要发生的是foreach循环三次,然后打印出“Bob”,然后是“Bobbertson”,然后是“80”。但是发生的事情是它经过一次并打印出“BobBobbertson80”。

有没有办法以我想要的方式将节点从 XSLT 生成的 HTML 传递到我的代码隐藏?

0 投票
1 回答
1001 浏览

c# - 从 XPathNavigator 计算值

我正在尝试为我的 XSL 转换编写一个函数。

基本上在函数中我有一个System.Xml.XPath.XPathNodeIterator并且我想在应用于该迭代器中的每个节点时获取 XPath 的值。

在这种情况下,XPath 是concat(name(.) , "_", string(.)),但它实际上可以是任何东西。

这会引发 XPathException:“表达式必须计算为节点集。” 哪种有道理

我怀疑我会被告知这不是有效的 XPath,而是其他一些与 xml/xsl 相关的功能,但是考虑到在 XSL 中我可以这样做:

这就是我所追求的——但在功能范围内。

我正在使用 C#,但 VB 的答案是可以接受的。

0 投票
1 回答
611 浏览

java - Java:如何在节点上执行 XPath 查询

因此,我正在使用 xPath 从 Java 中具有多层嵌套的 XML 文件中读取数据。

目前我有一个方法,它将 XML 文件的路径和一个 xpath 查询作为参数,并返回一个 NodeIterator。

然后我遍历这些节点,对于某些节点(如果它们的名称匹配),我需要对它们执行另一个查询并获取它们的子节点等的 NodeIterator

是否可以有一个带有 2 个参数的函数,一个是已经存在的节点,另一个是要在该节点上执行的 xPath 查询?

所以替换:NodeIterator ni = XPathAPI.selectNodeIterator(document,xpathQuery); 用一些喜欢:NodeIterator ni2 = xPathAPI.selectNodeIterator(parentNode, query);

我在互联网上搜索过,但找不到任何示例,而且我不确定执行上述操作的语法是什么,或者是否有可能?

提前谢谢了 :)