我通过ajax提交一个请求,返回 xml串,解析的时候如果xml中有特殊字符如 "" > < 等等,会出现错误,这个问题要怎么处理?
我在action中是通过sting类型拼的xml,因此这样特殊字符没有进行转义,请问,ajax对于这类问题是如何处理的?
问题补充:
我是用stringbuffer来拼的xml串,而没有用xml api来构建xml信息。然后直接将stringbuffer转为string返回前台,然后用js解析xml,就出现这个问题了。
最好使用API来组装XML。除非你很清楚怎么转化。 我给你办法就是把这些出现的特殊字符重新转编码。 如果你还是不明白, 我也没有办法。
字符 ", &, < > (char)39(这个查询下ASCII, 我忘记了), 转换成 &quot;, & < > ' 就可以了。 我想, 你应该去学习下XML的相关的知识。 什么都不明白, 也是做不好的。
这个和ajax无关, XML实体转义需要你在输出的时候就做的。 不知道你XML的输出用的什么解析工具, 一般来说, XML API里都代有实体转义工具:
{ "quot", "34" }, // " - double-quote
{ "amp", "38" }, // & - ampersand
{ "lt", "60" }, // < - less-than
{ "gt", "62" }, // > - greater-than
{ "apos", "39" }, // XML apostrophe
你自己写个程序也可以的。 很简单, 就这几个符号。
另外, 如果你使用xml1.0 协议, 那么还有好多特殊符号需要处理。 祝你好运气。 建议你写成xml 1.1协议。