gpt4 book ai didi

xml - 使用 XSLT 从嵌套的 XML 结构转换为扁平化的 XML 结构

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

我正在 XSLT 中尝试这个任务:将具有嵌套元素的 XML 转换为嵌套较少的 XML 格式。

转换自:

<example>
<value>
aaa
<value>
bbb
<value>
ccc
</value>
</value>
</value>
</example>

收件人:

<example>
<value>aaa</value>
<value>aaa</value>
<value>bbb</value>
<value>bbb</value>
<value>ccc</value>
<value>ccc</value>
</example>

我一直在努力寻找解决方案,但我只有这个:

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

<xsl:template match="//value/text()">

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

</xsl:template>

结果(空标签问题):

<exmaple>
<value>
aaa
</value><value>
aaa
</value><value>
bbb
</value><value>
bbb
</value><value>
ccc
</value><value>
ccc
</value><value>
</value><value>
</value><value>
</value><value>
</value>
</exmaple>

最佳答案

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

<xsl:template match="example">
<xsl:copy>
<xsl:apply-templates select=".//value"/>
</xsl:copy>
</xsl:template>

<xsl:template match="value">
<xsl:copy>
<xsl:value-of select="normalize-space(text())"/>
</xsl:copy>
<xsl:copy>
<xsl:value-of select="normalize-space(text())"/>
</xsl:copy>
</xsl:template>

</xsl:stylesheet>

关于xml - 使用 XSLT 从嵌套的 XML 结构转换为扁平化的 XML 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27662233/

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