使用 Xslt 将 XML 转换为 XML
Posted
技术标签:
【中文标题】使用 Xslt 将 XML 转换为 XML【英文标题】:XML to XML trasformation using Xslt 【发布时间】: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>
需要得到<Name>
元素
我的 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:
前缀绑定到命名空间,则无法使用<arr:string>
。你有一个你的最终输出应该是什么样子的例子吗? --附言请查看:minimal reproducible example
感谢您的快速响应。是的,我没有使用 您需要该命名空间的一些声明。
喜欢:
<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
【讨论】:
以上是关于使用 Xslt 将 XML 转换为 XML的主要内容,如果未能解决你的问题,请参考以下文章
使用 XSLT 将 XML 转换为 XML(添加、删除、修改)