使用xslt将XML转换为XML

时间:2012-05-18 05:09:13

标签: xml xslt

正如我先前所说,我已经开始学习XSLT

当我正在处理时,我得到了错误的XML格式

输入

<?xml version="1.0" encoding="ISO-8859-1"?>
<testingconfig note-ref="no">
<access-panel>113AL</access-panel>
<access-panel>119AL</access-panel>
</testingcongif>

输出

<?xml version="1.0" encoding="ISO-8859-1"?>
<testingconfig>
<panel><panelid>113AL</panelid></panel> 
<panel><panelid>119AL</panelid></panel> 
</testingconfig>

我的XSL

<?xml version="1.0" encoding="ISO-8859-1"?>
<testingconfig>
    <xsl:for-each select="testingconfig">
    <panel>
        <panelid>
            <xsl:value-of select="*"/>
        </panelid>
    </panel>
</xsl:for-each>
</testingconfig>

出于此目的

<testingconfig>
<panel>
    <panelid>
        113AL 119AL
    </panelid>
</panel>
</testingconfig>

任何人都可以在这里帮助我,我在做错误,请帮助我在XSLT 2.0中如何做到这一点

请帮助我

谢谢&amp;问候 中号

2 个答案:

答案 0 :(得分:7)

您只需将其分解为一组转换规则。例如:

<xsl:template match="testingfig">
  <tscon><xsl:value-of select="."/></tscon>
</xsl:template>

<xsl:template match="config">
   <testingvalue>
       <testingtype>mar</testingtype>
       <testid>mar<xsl:value-of select="."/></testid>
   </testingvalue>
</xsl:template>

然而,我有点担心,通过给你这些例子,我会把你带到沼泽地,你会很快陷入困境。在你的问题中我觉得你在开始学习这门语言时是正确的,并且在一个论坛上寻求一个简单问题的解决方案并不是最好的学习策略。您无法通过反复试验或通过复制虚拟示例来学习编程语言。你需要离开并阅读一些书籍或教程。

答案 1 :(得分:0)

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
    <testingconfig>
        <xsl:for-each select="testingconfig/access-panel">
        <panel><panelid><xsl:value-of select="." /></panelid></panel>

        </xsl:for-each>
    </testingconfig>

</xsl:template>
</xsl:stylesheet>