【问题标题】:XML to XML trasformation using Xslt使用 Xslt 将 XML 转换为 XML
【发布时间】:2016-08-24 03:22:38
【问题描述】:

我是 xslt 和 Xpath 的新手。我需要使用 xslt 将 xml 转换为另一个 xml 文件。所以我需要得到Name element.我正在使用xpath。但是当我运行我的xslt时得到以下错误。我错过了什么或出了什么问题?

错误:net.sf.saxon.s9api.SaxonApiException: org.xml.sax.SAXParseException;行号:22;列号:22;元素“arr:string”的前缀“arr”未绑定。

输入文件.XML

<Accounts>
<Account>
    <Name></Name>
</Account>
<Accounts>

需要得到&lt;Name&gt;元素

我的 xpath 是(这不是完整的 xslt 文件。仅包含获取名称元素代码)

         <arr:string>
            <xsl:value-of select="/Accounts/Account"></xsl:value-of>
         </arr:string>

输出是-:

            <qqq:Fields>
               <arr:string>Name</arr:string>
               <arr:string>XXX</arr:string>
               <arr:string>xxxxx</arr:string>
               <arr:string>xxxxx</arr:string>
            </qqq:Fields>

【问题讨论】:

  • 您的问题不清楚,但错误信息是:如果不先将arr: 前缀绑定到命名空间,则无法使用&lt;arr:string&gt;。你有一个你的最终输出应该是什么样子的例子吗? --附言请查看:minimal reproducible example
  • 感谢您的快速响应。是的,我没有使用

标签: xml xslt xpath


【解决方案1】:

您需要该命名空间的一些声明。

喜欢:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:arr="http://myarr.org">

或者:

<arr:string xmlns:arr="http://myarr.org">
    <xsl:value-of select="/Accounts/Account"/>
</arr:string>

尝试检查:http://www.w3schools.com/xml/xml_namespaces.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2019-04-11
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多