2012-05-11 12 views
0

XMLファイルを解析したい。オブジェクトの作成中には例外がスローされます。JavaでXPathを使用して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オープニングタグ

+1

UML名前空間の説明を含むxmlnsが必要です。 – yatul

答えて

2

ご入力のマークアップは、それが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> 
+0

xmnlsについてのリファレンスを与えることができます。 – Dhinakar

+1

フォーマット指定についてはhttp://www.w3.org/TR/REC-xml-names/を参照してください。また、 'xmlns:UDF =" http://example.com/ "は例として意味していますので、あなたのフォーマットを認識しないので、URLを関連付けることはできません。 –

1

</LANGUAGENAME.LIST> 

には、対応する開始タグがありません。

Google xml namespacesの場合、十分なリンクが得られます(例:here)。

+0

申し訳ありません..現在が更新されました – Dhinakar

関連する問題