在xml中存储URL的正确方法?

时间:2011-08-04 14:14:34

标签: xml sax

我将数据存储在xml文件中, 在其中一个节点中,我必须存储一个由特殊字符组成的URL,如& 我用& amp代替& amp;和xml显示没有错误但是当我做SAX解析时节点内返回的字符串值是&之后的字符串,

我猜测我存储网址的方式不合适。

在xml中存储网址的正确方法是什么。

目前我正在存储,

<param>http://www.example.com?param1=abc&amp;v=1</param>

XML没有错误,但SAX解析器不会返回整个URL。

编辑:我在网址后面加了分号,我第一次错过了。

解决方案:这不是XML的问题,而是我在XMLHandler中处理XML的方式,
我正在使用新的String(ch,start,length);
现在改为stringBuilder();

3 个答案:

答案 0 :(得分:3)

您的XML是正确的(现在您已添加了分号),因此您对SAX API的使用必定是错误的。

也许会看到以下答案:Sax parsing and encoding

答案 1 :(得分:2)

;

后需要分号(&amp
<param>http://www.example.com?param1=abc&amp;v=1</param>

编辑:好的,现在已经澄清了一点,我认为问题是SAX不必在单个characters()调用中返回整个字符串。有关如何解决此问题的详细信息,请参阅this问题。

答案 2 :(得分:0)

如果ampv是param,那么:

<param>http://www.example.com?param1=abc&amp;ampv=1</param>

如果v是param:

<param>http://www.example.com?param1=abc&amp;v=1</param>