xml - XPath 子串

标签 xml xslt xpath

我有一个 XML 文件,需要使用 XSL 脚本进行转换。

下面是一个 Feed 示例。我需要提取 NameLabel 元素中的文本,但我只需要前两个破折号之间的文本。

例如,我想要下面字符串中的A:

NTX-A-20120131-0006

我不太精通 XPath,所以我很难组合一个表达式,但我假设我需要使用 substring-(after|before)。我只是不确定如何。

示例 XML:

<NewsML>
    <NewsItem>
        <Identification>
            <NameLabel>NTX-A-20120131-0006</NameLabel>
        </Identification>
    </NewsItem>
</NewsML>

编辑:

我正在使用 xslt 1.0

最佳答案

substring-before(s1,s2) and substring-after(s1,s2) would work.

substring-before(substring-after(NewsML/NewsItem/Identification/NameLabel,'-'),'-')

关于xml - XPath 子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419186/

相关文章:

xml - axis step child::element 不能在这里使用:上下文项是一个原子值

xslt - 基于计数的迭代或 XSL 中的复制。我该怎么做?

javascript - Xpath 函数在剧作家中不起作用

xml - 什么版本的 XPath 在 XML::LibXML 中实现?

xml - 将 resx 转换为 XLIFF 格式失败

java - 如何使用java解析xsd字符串以获取其元素?

html - 使用 XSLT 将 XML 拆分为多个 HTML 文件

xml - XPATH查询使用xml中的值

SQL 从具有相同节点名称的 xml 获取值

Java Apache POI 错误 : XMLEventFactory Provider com. ctc.wstx.stax.WstxEventFactory 未找到