gpt4 book ai didi

xslt - 从输出 xml 中删除空的 xmlns 命名空间

转载 作者:行者123 更新时间:2023-12-04 11:24:19 25 4
gpt4 key购买 nike

我有一个输入 xml,在我的 xsl 中我调用了一个模板。模板中的第一个标签显示为空的 xmlns 属性,如下所示

    <Section xmlns="">

这个属性可以在xslt中消除吗?

请在这件事上给予我帮助..

我只是添加了我的代码示例,

输入.xml:
<?xml version="1.0" encoding="utf-8"?>
<List>
<Sections>
<Section>
<Column>a</Column>
<Column>b</Column>
<Column>c</Column>
<Column>d</Column>
<Column>e</Column>
</Section>
</Sections>
</List>

样式表.xsl
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="List">
<report xmlns="http://developer.com/">
<Views>
<xsl:call-template name="Page"/>
</Views>
</report>
</xsl:template>

<xsl:template name="Page">
<Content>
<xsl:for-each select="./Sections/Section">
<Columns>
<xsl:for-each select="./Column">
<Column>
<xsl:attribute name="value">
<xsl:value-of select="."/>
</xsl:attribute>
</Column>
</xsl:for-each>
</Columns>
</xsl:for-each>
</Content>
</xsl:template>

output.xml 看起来像
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://developer.com/">
<Views>
<Content xmlns="">
<Columns>
<Column value="a"/>
<Column value="b"/>
<Column value="c"/>
<Column value="d"/>
<Column value="e"/>
</Columns>
</Content>
</Views>

我需要 <report> 中的 xmlns 属性标记但不在 <Content> 中标签。这个 xmlns 属性是因为我调用了一个模板,并且该模板的第一个标签添加了这个属性。

最佳答案

将命名空间添加到 Content在您的 XSLT 中:

<xsl:template name="Page">
<Content xmlns="http://developer.com/">

关于xslt - 从输出 xml 中删除空的 xmlns 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23673966/

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