如果这似乎是一个非常基本的问题,我很抱歉,但我真的(我的意思是真的)感谢我能得到的任何帮助。我只是尝试执行以下操作:
1. 将自动关闭替换为
2. 从“Second_node”中获取
文本 3. 将该文本存储在变量中
4. 将该文本放入新的“Seventh_node”中。
我已经完成了第 1 步,但我似乎无法从所需元素中检索到必要的信息。我在下面包含了三个示例以及我的工作 XSLT。我猜关键问题是存储“Second_node”的文本内容并将其放置在新元素中。作为补充信息,我使用 Saxon 6.5 进行转换。如果提供的信息不完整,请告诉我。
谢谢你!
源 XML:
<firstnode>
<Second_node>text for second node</Second_node>
<Third_node>
<Fourth_node>
<Fifth_node>text for fifth node</Fifth_node>
<Sixth_node>text for sixth node</Sixth_node>
<Seventh_node />
</Fourth_node>
</Third_node>
</firstnode>
到目前为止我所拥有的:
<firstnode>
<Second_node>text for second node</Second_node>
<Third_node>
<Fourth_node>
<Fifth_node>text for fifth node</Fifth_node>
<Sixth_node>text for sixth node</Sixth_node>
<Seventh_node></Seventh_node>
</Fourth_node>
</Third_node>
</firstnode>
我需要的:
<firstnode>
<Second_node>text for second node</Second_node>
<Third_node>
<Fourth_node>
<Fifth_node>text for fifth node</Fifth_node>
<Sixth_node>text for sixth node</Sixth_node>
<Seventh_node>text for second node</Seventh_node>
</Fourth_node>
</Third_node>
</firstnode>
到目前为止我的 XSLT:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Seventh_node">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
<xsl:text>text for second node</xsl:text>
</xsl:copy>
</xsl:template>