gpt4 book ai didi

java - 在 Java 中使用 XPath 解析 XML 时出现 fatal error

转载 作者:行者123 更新时间:2023-12-02 00:23:16 24 4
gpt4 key购买 nike

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

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

异常(exception):

[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 开始标记

最佳答案

您的输入标记不是命名空间格式良好的 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>

关于java - 在 Java 中使用 XPath 解析 XML 时出现 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10549349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com