gpt4 book ai didi

xslt - 如何使用 xslt 从此 xml 中获取最后一行数据

转载 作者:行者123 更新时间:2023-11-30 23:50:27 29 4
gpt4 key购买 nike

如果最后一行的数据等于个人意思,则尝试从标签中获取最后一个,则需要填充为 1100 否则显示的任何数据都应该填充这是我下面的 xml:

    <tag>
<name>20K</name>
<value>540211000000100155001
0100155XXXXXX
0100156XXXXX
0100157XXXXXXX
0100159XXXXXXXX
personal</value>
</tag>

谁能指导我如何在xslt中使用逻辑

最佳答案

我。这是在 XSLT 2.0 中执行此操作的简短方法:

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

<xsl:template match="/*/value">
"<xsl:sequence select="tokenize(., '(&#xD;)?&#xA;')[last()]"/>"
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>

当此转换应用于提供的 XML 文档时:

<tag>
<name>20K</name>
<value>540211000000100155001
0100155XXXXXX
0100156XXXXX
0100157XXXXXXX
0100159XXXXXXXX
personal</value>
</tag>

产生了想要的、正确的结果:

"    personal"

二。 XSLT 1.0 解决方案

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="value" name="skipLines">
<xsl:param name="pText" select="."/>
<xsl:choose>
<xsl:when test="not(contains($pText, '&#xA;'))">
"<xsl:value-of select="$pText"/>"
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="skipLines">
<xsl:with-param name="pText" select=
"substring-after($pText, '&#xA;')"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>

当此转换应用于同一个 XML 文档时(如上),再次产生相同的正确结果:

"    personal"

关于xslt - 如何使用 xslt 从此 xml 中获取最后一行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8193836/

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