dom4j处理xml问题! 我有这样一个需求:现有xml字串:<a> <b> <c></c> </b></a>现在我要在外层再添加一个结点:例如<abc> <a> <b> <c></c> </b> </a></abc> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,楼上真幽默,就是:我要在一个既有的xml外层再加一个结点 先create一个节点 比方说 nAbc createElement然后用它的appendchild之类的方法把你读出的节点追加到这个结点上不就行了 appendChild 呵呵,既有的是一个xml字符串,只是字符串而已,dom4j倒是有一个 appendContent和appendAttribute,但貌似不行,因为这两个要求传入的对像 是dom4j自身的对像,如果把xml字符串转化成dom4j对像的话,这两个方法,看着不像,嘿嘿,我试一下咯!不行!试了一下这两个方法,继续求救 1.把传入的字符串转换成对象,在对象上操作2.传入的是字符串,就对它做字符串操作,"<abc>"+xml+"</abc>" 这岂不是要把根节点给变了!貌似dom4j里面没有直接给子节点添加父节点的方法。不过可以先把<a>改为<abc>然后再在<abc>下面添加一个<a> 我建议你可以这么做哟方法一:修改<a>节点,把它变成<abc>,然后再在<abc>下面添加一个节点方法二:删除<a>节点,然后添加<abc>,和<abc>的子结点<a> 使用Dom4j的代码样例:try{ String xml = "<a><b><c>testxml</c></b></a>"; Document doc = DocumentHelper.parseText(xml); Element root = DocumentHelper.createElement("abc"); root.add(doc.getRootElement()); doc.setRootElement(root); System.out.println(doc.asXML());}catch(DocumentException exp){ exp.printStackTrace();} 不太明白,为什么生成xml也要用dom4j?StringBuffer不能拼嘛? DOM4J是使用Object方式解析XML数据。按LZ的需求,没有特殊要求的话,直接StringBuffer拼上是最简单的。 哈哈,还是自己实现了!用document对像创建根结点,然后,把那段xml当做根结点的文本添加进去,再对document.asXML()后的字符串进行字符串转换处理,就可以实现我的需求了!这个一开始都想到了,只是有些变态,就来这里问问有没有好的方法! java转义字符的处理 请给为帮帮我 急 java reahat linux 9.0 下如何读取Usb加密狗 一个比较有难度的问题,请高手进 问你一个关于java5数字签名的事情 求助:JAVA程序中如何实现本地OS的用户认证 大家帮忙看看这有什么问题?applet 初学者,关于方法调用 急;数据库的问题 这段代码哪儿有错? 大家好.我是一个java爱好者,请高手给点指点,有没有什么好的开发环境.给推荐一下> java时间规则问题
然后用它的appendchild之类的方法把你读出的节点追加到这个结点上不就行了 appendChild
2.传入的是字符串,就对它做字符串操作,"<abc>"+xml+"</abc>"
方法一:修改<a>节点,把它变成<abc>,然后再在<abc>下面添加一个节点
方法二:删除<a>节点,然后添加<abc>,和<abc>的子结点<a>
{
String xml = "<a><b><c>testxml</c></b></a>";
Document doc = DocumentHelper.parseText(xml);
Element root = DocumentHelper.createElement("abc");
root.add(doc.getRootElement());
doc.setRootElement(root); System.out.println(doc.asXML());
}
catch(DocumentException exp)
{
exp.printStackTrace();
}
用document对像创建根结点,然后,把那段xml当做根结点的文本添加进去,再对document.asXML()后的字符串进行字符串转换处理,就可以实现我的需求了!这个一开始都想到了,只是有些变态,就来这里问问有没有好的方法!