0

JDOMを使用して次のXMLを解析しようとしています:

<ASX version = "3.0" BANNERBAR="fixed">
<TITLE>HM FM 104.5</TITLE>
<ENTRY>
<TITLE>HM FM 104.5</TITLE>
<BANNER HREF = "http://xxx.xxx.xx.xxx:89/asxbanner.jpg">
<moreinfo href = "http://www.nch.com.au/index.html" />
<abstract>Click here to go to http://www.nch.com.au/index.html</abstract>
</BANNER>
<REF HREF = "http://xxx.xxx.xx.xxx:89/broadwave.mp3?src=1&rate=1&ref=http%3A%2F%2Fxxx.xxx.xx.xxx%3A89%2F" />
</ENTRY>
</ASX>

私の問題は、「src=1&rate=1&ref=http%3A%2F」を含む行が次の例外を引き起こすように見えることです:

Caused by: org.xml.sax.SAXParseException: The reference to entity "rate" must end with the ';' delimiter.

コードは次のとおりです。

SAXBuilder builder = new SAXBuilder();
Reader in = new StringReader(xml);
Document doc = null;
Element root = null;
doc = builder.build(in); // this line throws the Exception

JDOM は「&」または「=」文字を好まないようです。JDOM を使用してこの XML を正常に解析するにはどうすればよいですか?

4

1 に答える 1

2

XML 文字列では、文字はエンティティ&を使用する必要があります。&amp;

文字列は次のようになります。

"http://xxx.xxx.xx.xxx:89/broadwave.mp3?src=1&amp;rate=1&amp;ref=http%3A%2F%2F111.92.240.134%3A89%2F"
于 2013-05-29T23:53:59.943 に答える