【问题标题】:unable to add element in xml using xslt无法使用 xslt 在 xml 中添加元素
【发布时间】:2014-12-26 05:52:09
【问题描述】:

我是 xslt 的新手。我有一个小的 xml 代码 sn-p 如下。

<users xmlns="ABC_Login">
   <email>ABC@gmail.com</email>
</users>

我的 xslt 代码如下。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:users= "ABC_Login"
xmlns= "ABC_Login" >
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
    <xsl:template match="//users">
<users>               
<email><xsl:value-of select="email"/></email>
</users>
</xsl:template>
</xsl:stylesheet>

当前输出为:

<?xml version="1.0" encoding="UTF-8"?>
   ABC@gmail.com

预期输出为:

    <?xml version="1.0" encoding="UTF-8"?>
<users>       
<email>ABC@gmail.com</email>
</users>

谁能帮帮我?

注意:我使用的是在线xslt验证器http://xslttest.appspot.com/

【问题讨论】:

    标签: xml xslt xslt-1.0 xslt-2.0 xslt-grouping


    【解决方案1】:

    请尝试此解决方案。我已经用 XmlSpy 检查了它。可能是您的在线工具无法正常工作。

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns1="ABC_Login" exclude-result-prefixes="ns1" version="1.0">
        <xsl:template match="/ns1:users">
            <users>
                <email>
                    <xsl:value-of select="ns1:email" />
                </email>
            </users>
        </xsl:template>
    </xsl:stylesheet>
    

    【讨论】:

      【解决方案2】:

      你的想法是对的。您在 XSLT 中声明了所需的名称空间,但没有使用它。应该这样做:

      <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                      xmlns:users="ABC_Login"
                      xmlns="ABC_Login" >
        <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
      
        <xsl:template match="/users:users">
          <users>               
            <email><xsl:value-of select="users:email"/></email>
          </users>
        </xsl:template>
      </xsl:stylesheet>
      

      当然,这只是对输入进行精确复制,还有更好的方法可以做到这一点,但我认为你这样做只是为了练习。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多