gpt4 book ai didi

xml - 使用 XPATH 获取特定 XML 节点的位置?

转载 作者:数据小太阳 更新时间:2023-10-29 02:37:56 27 4
gpt4 key购买 nike

首先让我说我知道 position() 但我似乎无法弄清楚如何让它在这种情况下工作。

我想要做的是遍历我的文本正文并找到所有图像。这些将变成显示“图 1”等内容的链接。该编号由不同节点集中相应节点的 position() 提供。

这是我的 XML 示例:

<understanding-individual-question>
<section id="18" handle="questions">Questions</section>
<entry id="162">
<images items="3">
<item id="215">
<description mode="normal" handle="winter-frozen-period-for-stile-s-pond" word-count="6">Winter frozen period for Stile’s Pond.</description>
<file size="73 KB" path="/uploads" type="image/jpg">
<filename>lakefrozen-1276880623.jpg</filename>
<meta creation="2010-06-18T13:03:43-04:00" width="532" height="479" />
</file>
<title mode="normal" handle="stiles-pond-frozen" word-count="3">Stile's Pond Frozen</title>
</item>
</images>
</entry>
</understanding-individual-question>

我已经尝试了多种不同的方法来从 XML 中的另一个位置获取该 item 节点的位置,但我一直返回错误,没有任何错误或 NaN.

以下是我尝试过的 XSLT 的三个示例:

<xsl:template match="information//img">
<xsl:variable name="link" select="substring-after(@src,'uploads/')" />
<em>(<a rel="figure" href="{@src}">
<xsl:text>See Figure </xsl:text>
<!-- Method 1: Returns all as 'NaN' -->
<xsl:number value="/data/understanding-individual-question/entry/images/item[file/filename = $link][position()]" format="1"/>
<!-- Method 2: Returns all as '1' -->
<xsl:for-each select="/data/understanding-individual-question/entry/images/item[file/filename = $link]">
<xsl:number value="position()" format="1"/>
</xsl:for-each>
<!-- Method 3: Returns all as '2' -->
<xsl:number value="position()" format="1"/>
</a>.)</em>
</xsl:template>

我已经检查了我的 XPATH,它返回了正确的节点,没问题。但是,无论我做什么,它都不会返回节点的 position()!我不明白为什么。

我尝试关注 this question's solutions但我一直得到 NaN

有人知道怎么做吗?

最佳答案

使用第二种方法:

count(preceding-sibling::item) +1

关于xml - 使用 XPATH 获取特定 XML 节点的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3167781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com