我认为这很棘手。我想要下面的xml,将getpositionrouter元素更改为'newelement'。问题是,这应该是输入输出中唯一的变化。即使是命名空间'pos',也应该保留。所以在输入而不是pos中它可以是ns1 =“positionNS”。然后输出ns1,应该在那里。
input
<pos:getPositionRouter xmlns:pos="positionNS">
<positionID>
<code>1</code>
</positionID>
<parameter>?</parameter>
</pos:getPositionRouter>
期望的输出
<pos:newelement xmlns:pos="positionNS">
<positionID>
<code>1</code>
</positionID>
<parameter>?</parameter>
</pos:newelement>
答案 0 :(得分:0)
尝试使用样式表
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pos="positionNS">
<xsl:output method="xml" indent="yes" />
<xsl:template match="/">
<xsl:apply-templates select="pos:getPositionRouter" />
</xsl:template>
<xsl:template match="pos:getPositionRouter">
<pos:newElement>
<xsl:apply-templates select="node() | @*" />
</pos:newElement>
</xsl:template>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>