解析XML

eceg 2010-06-04 11:49:32
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>
<
<内容1><内容2>.......
>
</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替换.

还有什么更好的方法没
...全文
96 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
百球恩 2010-06-04
  • 打赏
  • 举报
回复
解析默认是不区分大小写的
那你就这样
if( 节点名字.toUpperCase().equals(E))
eceg 2010-06-04
  • 打赏
  • 举报
回复
我是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的内容该如何原封不动的得到?
ladybirds2008 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dr_lou 的回复:]

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

可以。
[/Quote]
dr_lou 2010-06-04
  • 打赏
  • 举报
回复
我想到了用StringBuffer把xml内容全读进去,然后截取<E></E>,用replaceAll替换.

可以。
风过无痕1110 2010-06-04
  • 打赏
  • 举报
回复
简单啊,写个转换器将“<”之类的东西再转回来就可以了
具体对应表从网上查

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧