如何获得特定元素的值

雅各布·克莱因·彼得森

我有以下XML:

<-一个或多个->

<Supplement>
<ID>321
    <SupplementType>
        <Glass>31DK</Glass>
    </SupplementType>
</ID>
</Supplement>

当我使用当前元素的选择值时,它得到32131DK(“ ID”和“ Glass”元素的值)

在我的输出中,我只想在“ ID”元素之后获取数字值(321)

xml输入无法更改,因为它是制造商的原样。

我的XSLT:

<xsl:element name="ProfileSpecification">
    <xsl:for-each select="Supplement/ID">
        <xsl:value-of select="."/>
    </xsl:for-each> </element>

我得到的输出:

<ProfileSpecification>32131DK</ProfileSpecification>

我想要的输出:

<ProfileSpecification>321</ProfileSpecification>
马蒂亚斯·穆勒(Mathias Mueller)

您的方法无效,因为

<xsl:value-of select="."/>

返回上下文元素字符串值字符串值是所有后代文本节点(不仅是直接子代)的串联。

您不应该简单地匹配/(我想您可以匹配)并将所有代码放入此单个模板中。而是,为重要元素定义单独的模板匹配,并用于apply-templates在文档中移动。

for-each没有正当理由,请勿使用同样适用xsl:element-如果元素名称是静态已知的,则不要使用它,而应使用文字结果元素

XML输入

假设格式正确的(单个根元素)和代表的(多个Supplement元素,如您在问题文本中所述)输入XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <Supplement>
        <ID>321
        <SupplementType>
            <Glass>31DK</Glass>
        </SupplementType>
        </ID>
    </Supplement>
    <Supplement>
        <ID>425
        <SupplementType>
            <Glass>444d</Glass>
        </SupplementType>
        </ID>
    </Supplement>
</root>

XSLT样式表

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:output method="xml" encoding="UTF-8" indent="yes" />

    <xsl:template match="/root">
        <xsl:copy>
            <xsl:apply-templates/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="Supplement">
        <ProfileSpecification>
            <xsl:value-of select="normalize-space(ID/text()[1])"/>
        </ProfileSpecification>
    </xsl:template>

</xsl:transform>

XML输出

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <ProfileSpecification>321</ProfileSpecification>
    <ProfileSpecification>425</ProfileSpecification>
</root>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获得特定节点的值

来自分类Dev

如何获得特定值的频率?

来自分类Dev

如何获得字典的特定值

来自分类Dev

如何遍历DOM以获得特定元素

来自分类Dev

如何获得具有特定风格的元素

来自分类Dev

如何获得可拖动元素掉落的值?

来自分类Dev

如何获得矩阵中非NAN元素的值?

来自分类Dev

如何获得动态创建的HTML元素的值?

来自分类Dev

如何获得该相邻元素中的值?

来自分类Dev

如何获得特定的跨度文本值

来自分类Dev

如何从许多<p>中获得特定值

来自分类Dev

如何获得具有特定后继元素的元素?

来自分类Dev

比较数组内的元素以获得特定值 appscript

来自分类Dev

我如何只考虑每个数组一个特定元素从数组数组中获得最大值的数组

来自分类Dev

如何对矩阵进行插值以获得特定值

来自分类Dev

如何获得关于特定选择的每个“li”和“a”元素文本?

来自分类Dev

如何选择定义了特定值的样式的元素?

来自分类Dev

如何使用jQuery $ .post()特定元素值?

来自分类Dev

JToken获得特定值

来自分类Dev

如何使用angular.element('#id')获得输入元素的值

来自分类Dev

如何通过单击tr获得选定的元素值

来自分类Dev

如何在Powershell哈希表中获得特定值的名称?

来自分类Dev

如何从moltin获取特定的阵列值来获得产品

来自分类Dev

如何以编程方式在Pixate中获得特定的CSS值?

来自分类Dev

VB.NET Selenium如何获得跨度上的特定值

来自分类Dev

如何获得所需位置的组合列表的特定索引值

来自分类Dev

如何以编程方式在Pixate中获得特定的CSS值?

来自分类Dev

如何获得r中的计数,直到满足特定值并继续

来自分类Dev

如何从moltin获取特定的阵列值来获得产品

Related 相关文章

热门标签

归档