使用Xslt进行XML到XML的转换

时间:2016-04-29 05:34:56

标签: xml xslt xpath

我刚接触xslt和Xpath.i需要使用xslt将xml转换为另一个xml文件。所以我需要使用xpath获取Name element.i'm。但是当我运行我的xslt时得到以下错误。我遗失或出错的任何事情?

  

错误:net.sf.saxon.s9api.SaxonApiException:org.xml.sax.SAXParseException; lineNumber:22; columnNumber:22;

输入file.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>

1 个答案:

答案 0 :(得分: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