当前位置: 代码迷 >> J2SE >> JAVA 中DOM对象的使用,该怎么处理
  详细解决方案

JAVA 中DOM对象的使用,该怎么处理

热度:290   发布时间:2016-04-24 17:07:24.0
JAVA 中DOM对象的使用
有两个XML分别如下:
xml   1:
<book1>
<englishBook   name   =   "englisg "> ABCD </englishBook>
</book1>
xml   2:
<book2>
<ChineseBook   name   =   "englisg "> abcd </ChineseBook   >
</book2>

现在想通过程序将第二个xml的内容替换为第一个内容:
用replaceChild   能实现吗?
如果不行,能替换book节点下的字节点吗?

------解决方案--------------------
自己试下不得了
------解决方案--------------------
帮忙顶。
------解决方案--------------------
用JDOM
package com.hexun.blog.infon;
import java.io.IOException;
import java.io.StringReader;

import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

class Test {
public static void main(String[] args) {
String xml1 = " <book1> <englishBook name = 'englisg '> ABCD </englishBook> </book1> ";
String xml2 = " <book2> <ChineseBook name = 'englisg '> abcd </ChineseBook > </book2> ";
SAXBuilder builder = new SAXBuilder();
try {
Element e1=builder.build(new StringReader(xml1))
.getRootElement().getChild( "englishBook ");
Element root2=builder.build(new StringReader(xml2)).getRootElement();
root2.removeChild( "ChineseBook ");
root2.addContent((Element)e1.clone());
System.out.println(root2.getChildText( "englishBook "));
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
  相关解决方案