dom添加节点

来源:互联网 发布:京东淘宝唯品会哪个好 编辑:程序博客网 时间:2024/06/04 20:03


 //添加节点
 @Test
 public void insert() throws ParserConfigurationException, SAXException, IOException, TransformerException{
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  DocumentBuilder db = factory.newDocumentBuilder();
  Document document = db.parse("src/book.xml");
  
  //创建节点
  Element element = document.createElement("优惠价");//所创建的节点名
  element.setTextContent("29元");//为所创建的节点赋值
  //把创建出来的节点添加到第一本书上
  Element book=(Element) document.getElementsByTagName("书").item(0);
  book.appendChild(element);
  
  //把添加的节点写的xml文件中
  TransformerFactory tff = TransformerFactory.newInstance();
  Transformer tf = tff.newTransformer();
  tf.transform(new DOMSource(document),new StreamResult(new FileOutputStream("src/book.xml")));
 }

 

 

---------------------------------------------------------------------------------------------------------

 

在指定的地点添加节点

 

@Test
 public void insert1() throws ParserConfigurationException, SAXException, IOException, TransformerException{
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  DocumentBuilder db = factory.newDocumentBuilder();
  Document document = db.parse("src/book.xml");
  
  //创建节点
  Element element = document.createElement("优惠价");
  element.setTextContent("29元");
  
  //获取参考节点
  Element price=(Element) document.getElementsByTagName("售价").item(0);
  //把创建出来的节点添加到第一本书上
  Element book=(Element) document.getElementsByTagName("书").item(0);
  book.insertBefore(element, price);
 
  
  //把添加的节点写的xml文件中
  TransformerFactory tff = TransformerFactory.newInstance();
  Transformer tf = tff.newTransformer();
  tf.transform(new DOMSource(document),new StreamResult(new FileOutputStream("src/book.xml")));
 }

原创粉丝点击