我将数据存储在xml文件中, 在其中一个节点中,我必须存储一个由特殊字符组成的URL,如& 我用& amp代替& amp;和xml显示没有错误但是当我做SAX解析时节点内返回的字符串值是&之后的字符串,
我猜测我存储网址的方式不合适。
在xml中存储网址的正确方法是什么。
目前我正在存储,
<param>http://www.example.com?param1=abc&v=1</param>
XML没有错误,但SAX解析器不会返回整个URL。
编辑:我在网址后面加了分号,我第一次错过了。 解决方案:这不是XML的问题,而是我在XMLHandler中处理XML的方式,
我正在使用新的String(ch,start,length);
现在改为stringBuilder();
答案 0 :(得分:3)
您的XML是正确的(现在您已添加了分号),因此您对SAX API的使用必定是错误的。
也许会看到以下答案:Sax parsing and encoding
答案 1 :(得分:2)
;
:
&
)
<param>http://www.example.com?param1=abc&v=1</param>
编辑:好的,现在已经澄清了一点,我认为问题是SAX不必在单个characters()
调用中返回整个字符串。有关如何解决此问题的详细信息,请参阅this问题。
答案 2 :(得分:0)
如果ampv
是param,那么:
<param>http://www.example.com?param1=abc&ampv=1</param>
如果v
是param:
<param>http://www.example.com?param1=abc&v=1</param>