使用org.w3c.dom,写入XML文件时,
因为项目要求,需要将"&"符号写入XML中的一个节点里面,比如:
<content>
  <bean>
    <entry key="pairs" type="Map" value="a&;b&"/>
  </bean>
</content>
但实际写入后,查看文件,结果是:
<content>
  <bean>
    <entry key="pairs" type="Map" value="a&amp;b&amp;"/>
  </bean>
</content>目前想实现指定写入内容不发生变化,指定内容是什么,写入的就是什么,不要让后台自动转译。
问题补充:不能使用DTD或schema等约束,因为这样需要在原XML中加入链接标记,破坏了XML结构(该XML有特殊用途)怎么可以不在XML中附加其他内容而实现写入内容不会被改变的功能呢?
最好是通过java代码的某个方法或属性来实现!谢谢大家,本人感激不尽!

解决方案 »

  1.   

    &amp取出来就是&符号  就和html中空格用&nbsp是一样的
      

  2.   

    1正则转义 \\&
    2JS: encodeURIComponent
      

  3.   

    用转译的方法也试过了,我的项目是SWT的,所以用不了JS,在写入XML的那一步:
    Element_A.appendChild(Element_B);只要Element_B里面有"&"字符,生成的XML里面一律都被转成"&amp"了,这样是不符合规范的,
    必须只能是"&"才行,后面的"amp"不能要的!唉~~~ 
    一声叹息~
      

  4.   

    如果写入:“&”
    获得结果:“&amp”如果写入:“&amp”
    获得结果:“&amp;amp”无语