【问题标题】:Fatal error while parsing XML using XPath in Java在 Java 中使用 XPath 解析 XML 时出现致命错误
【发布时间】:2012-05-11 10:05:35
【问题描述】:

我想解析一个 XML 文件。它在创建对象时抛出异常:

Document doc = builder.parse("Response.xml");

例外:

[Fatal Error] Response.xml:63:67: The prefix "UDF" for element "UDF:RTSIDUDF.LIST" is not bound.
Exception in thread "main" org.xml.sax.SAXParseException: The prefix "UDF" for element "UDF:RTSIDUDF.LIST" is not bound.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)
    at tallyreqandresponse.Ledger.main(Ledger.java:38)
Java Result: 1

示例 xml 代码:

 <A>
 <LANGUAGENAME.LIST>
   <NAME.LIST TYPE="String">
       <NAME>ABC India (P) Ltd.,</NAME>
   </NAME.LIST>
   <LANGUAGEID TYPE="Number"> 1033</LANGUAGEID>
   <UDF:RTSIDUDF.LIST DESC="`RTSIDUDF`" ISLIST="YES" TYPE="Number">
       <UDF:RTSIDUDF DESC="`RTSIDUDF`"> 1387</UDF:RTSIDUDF>
   </UDF:RTSIDUDF.LIST>
   </LANGUAGENAME.LIST>
 </A>

请帮帮我。

编辑说明:添加 LANGUAGENAME.LIST 开始标签

【问题讨论】:

  • 您需要带有 UDF 命名空间描述的 xmlns。

标签: java xml xpath xml-parsing


【解决方案1】:

您的输入标记不是命名空间格式正确的 XML,因此它被 XML 解析器拒绝。您需要使用例如修复输入

<A>
 <NAME.LIST TYPE="String">
       <NAME>ABC India (P) Ltd.,</NAME>
 </NAME.LIST>
 <LANGUAGEID TYPE="Number"> 1033</LANGUAGEID>
       <UDF:RTSIDUDF.LIST xmlns:UDF="http://example.com/" DESC="`RTSIDUDF`" ISLIST="YES" TYPE="Number">
                      <UDF:RTSIDUDF DESC="`RTSIDUDF`"> 1387</UDF:RTSIDUDF>
      </UDF:RTSIDUDF.LIST>
  </LANGUAGENAME.LIST>
</A>

【讨论】:

  • 有关格式规范,请参阅w3.org/TR/REC-xml-names。另请注意,xmlns:UDF="http://example.com/" 仅作为示例,我无法识别您的格式,因此无法关联 URL。
【解决方案2】:

除了缺少的命名空间定义之外,似乎还有一个不匹配的标签:

</LANGUAGENAME.LIST> 

没有对应的开始标签。

如果你用 Google 搜索 xml namespaces,你会得到很多很好的链接 - 例如,看看 here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 2012-08-08
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    相关资源
    最近更新 更多