用jdom读xml,XML中用了转义字符,比如<
这样的字符通过jdom里面的element.getValue();的时候,读出来的是"<"
我希望读出来的依旧是%lt;
不知道要怎么实现。请教各位老师。。

解决方案 »

  1.   

    不合法的XML字符必须被替换为相应的实体。
    如果在XML文档中使用类似”<” 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:
    <message>if salary < 1000 then</message>
    为了避免出现这种情况,必须将字符”<” 转换成实体,象下面这样:
    <message>if salary &lt; 1000 then</message>
    下面是五个在XML文档中预定义好的实体:
    &lt; < 小于号 &gt; > 大于号 &amp; & 和 &apos; ‘ 单引号 &quot; “ 双引号
    实体必须以符号”&”开头,以符号”;”结尾。
    注意: 只有”<” 字符和”&”字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。
      

  2.   

    可能我没说清楚,2L的老师,我知道转义字符的作用。现在我需要原封不动的把XML文件的内容反映出来。
    我知道  A&lt;B 的是意思是A<BXML中的内容,如果是A&lt;B,用JDOM读出来的时候,我希望依旧是A&lt;B。因为,我要直接把这些内容放到另外一个XML里面去。如果这个时候,JDOM自动将A&lt;B解析成了A<B。那么我再往另外一个XML写的时候,我还要去再转义回来。