package com.cskaoyan.xmlparse;
import javax.xml.parsers.DocumentBuilder;//获得文档实例
import javax.xml.parsers.DocumentBuilderFactory;//获得解析器
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;//处理转换指令
import javax.xml.transform.TransformerFactory;//用于创建 Transformer 和 Templates 对象
import javax.xml.transform.dom.DOMSource;//使用dom树
import javax.xml.transform.stream.StreamResult;//为xml等文本格式标记
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Document;
public class JaxpDomTest {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); //解析器
DocumentBuilder db= dbf.newDocumentBuilder();//文档实例
Document document=db.parse("src/books.xml");//放进内存
// System.out.println(document.getElementsByTagName("price").item(0).getTextContent());
// Element bookElement= (Element)document.getElementsByTagName("book").item(1);//第二本书父节点
// element是xml中的类型之一,除了结点node就是element
// Element disElement= document.createElement("discount");//创建新节点
// disElement.setTextContent("19.9");
// bookElement.appendChild(disElement);//添加新节点,但只在内存的dom树上
//
// TransformerFactory tsf = TransformerFactory.newInstance();
// Transformer tsTransformer = tsf.newTransformer();
// tsTransformer.transform(new DOMSource(document), new StreamResult("src/books.xml"));//添加到文档中
Element bookElement = (Element) document.getElementsByTagName("book").item(1);//可以去掉
Element disElement = (Element) document.getElementsByTagName("discount").item(0);//找到子节点
disElement.getParentNode().removeChild(disElement);//删除
TransformerFactory tsf = TransformerFactory.newInstance();
Transformer tsTransformer = tsf.newTransformer();
tsTransformer.transform(new DOMSource(document), new StreamResult("src/books.xml"));
}
}
[xml] JAXPDom解析器
最新推荐文章于 2021-02-16 03:05:28 发布