【发布时间】:2011-03-03 11:17:49
【问题描述】:
我是安卓开发新手,
我想解析 xml 我曾尝试使用 sax xml 解析器,但由于它包含“&”,因此 URL 部分未完成解析。SAX 解析器解析到“&”它忽略的其余部分所以我必须使用json解析器。
但是对于 json 解析器,我需要将 xml 解析为 json,然后从 json 解析为 JSON 解析器可以使用的字符串。
如果有人知道它会解决我在 xml 中的“&”问题吗?
谢谢任何帮助.......
【问题讨论】:
我是安卓开发新手,
我想解析 xml 我曾尝试使用 sax xml 解析器,但由于它包含“&”,因此 URL 部分未完成解析。SAX 解析器解析到“&”它忽略的其余部分所以我必须使用json解析器。
但是对于 json 解析器,我需要将 xml 解析为 json,然后从 json 解析为 JSON 解析器可以使用的字符串。
如果有人知道它会解决我在 xml 中的“&”问题吗?
谢谢任何帮助.......
【问题讨论】:
如我所见,您想解析非标准 xml。如果您可以更改 xml 结构,请使用 CDATA 链接。如果没有,你可以做一些技巧,比如在解析一些唯一的字符串之前替换'&'。解析成功后可以替换回来。
演示:
String xmlString = "<link>linkwith&</link>"; //some xml with &
xmlString = xmlString.replaceAll("[&]", ".!.!.!.");
XMLHandler xml = new XMLHandler(); //your sax parse handler
xml.parseXML(output); //your parse function
之后,您会以某种方式获取已解析的链接并进行替换:
String parsedLink = "linkwith.!.!.!.";
parsedLink = parsedLink.replaceAll(".!.!.!.", "&");
【讨论】: