a.xml<?xml version="1.0" encoding="UTF-8"?>
<R>
<M>
<E>
 <e>
   <e1>内容1<e1/><e2>内容2<e2/>.......
 </e>
</E>
</M>
</R>
b.xml<?xml version="1.0" encoding="UTF-8"?>
<R>
<M>
<E>
 &lt;
   &lt;内容1&gt&lt;内容2&gt.......
 &gt
</E>
</M>
</R>请问:如何将a转换成b
原因是:我现在想要的是把<E>里面的内容原封不动的输出.循环到了<E>节点,调用Node.getTextContent()方法返回的内容是内容1 内容2 ......如果b.xml的话返回的就是
<e><e1>内容1<e1/><e2>内容2<e2/>.......</e> 上面是我想要的内容注:<E>和<e>同名,就大小写不一样我想到了用StringBuffer把xml内容全读进去,然后截取<E></E>,用replaceAll替换.还有什么更好的方法没

解决方案 »

  1.   

    解析默认是不区分大小写的
    那你就这样
    if( 节点名字.toUpperCase().equals(E)) 
      

  2.   

    简单啊,写个转换器将“&lt;”之类的东西再转回来就可以了
    具体对应表从网上查
      

  3.   

    我想到了用StringBuffer把xml内容全读进去,然后截取<E></E>,用replaceAll替换.可以。
      

  4.   

    我是LZ
    发现replaceAll不行<?xml version="1.0" encoding="UTF-8"?>
    <R>
    <M>
    <E>
     <e>
       <e1>内容1<e1/><e2>内容2<e2/>.......
     </e>
    </E>
    <E>
     <e>
       <e1>内容1<e1/><e2>内容2<e2/>.......
     </e>
    </E>
    </M>
    </R><E>可能存在多个值,如果内容1的值是E,怎么区分Element rootElement = domDocument.getDocumentElement();
    NodeList nlist = rootElement.getElementsByTagName("M");
    nlist的内容该如何原封不动的得到?