我下载了一个XML文件,我使用PHP生成,看起来与此类似
<?xml version="1.0" encoding="utf-8" ?>
<customersXML>
...
<customer id="12" name="Me+%26+My+Brother" swid="1" />
...
</customersXML>
现在我需要用Java解析它,但在此之前我使用了URL-Decode,因此XML成为了这个
<?xml version="1.0" encoding="utf-8" ?>
<customersXML>
...
<customer id="12" name="Me & My Brother" swid="1" />
...
</customersXML>
但是当我使用SAX解析XML文件时,我遇到了“&amp;”的问题。我怎么能绕过这个?
答案 0 :(得分:5)
&符是xml(O'reilly Xml: Entities: Handling Special Content)中的特殊字符,需要进行编码。在发送之前将其替换为&
。
答案 1 :(得分:2)
如果所讨论的XML首先不是urlencoded(它看起来不像),那么你不应该对其进行urldecoding。打破xml然后“不破”它真的不是最好的方法。只需使用原始的xml并解析它。
答案 2 :(得分:2)
永远不要将XML作为字符串处理而不解析它,否则您最终可能会遇到不再是XML的东西。正如你所发现的那样。
答案 3 :(得分:0)
你应该首先解析,然后解码。