gpt4 book ai didi

xpath - 来自可迭代节点的子串

转载 作者:行者123 更新时间:2023-12-03 16:12:05 26 4
gpt4 key购买 nike

请考虑这个示例文件:http://www.w3schools.com/dom/books.xml

这个 XPath 表达式 //title/text(),返回:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML

现在我只想要名字,然后尝试:tokenize(//title/text(),' ')[1],返回:

Too many items

OTOH tokenize((//title/text())[1],' ')[1] 返回第一个节点的名字。

如何在迭代节点时使用 XPath 获取子字符串?

最佳答案

使用:

//text()/tokenize(.,' ')[1]

这会生成 XML 文档中每个文本节点的第一个“单词”的序列。

基于 XSLT 2.0 的验证:

<xsl:stylesheet version="2.0"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>

<xsl:template match="/">
<xsl:sequence select="//text()/tokenize(.,' ')[1]"/>
</xsl:template>
</xsl:stylesheet>

当此转换应用于以下 XML 文档时:

<t>
<a>Everyday Italian</a>
<b>Harry Potter</b>
<c>XQuery Kick Start</c>
<d>Learning XML</d>
</t>

对 XPath 表达式求值并将该求值结果复制到输出:

 Everyday 
Harry
XQuery
Learning

上面包括一些纯文本节点。

如果您想忽略任何纯空白文本节点,请将 XPath 表达式更改为:

//text()[normalize-space()]/tokenize(.,' ')[1]

关于xpath - 来自可迭代节点的子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12491788/

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