jaxp对xml解析
2012-10-21 22:36
197 查看
得到代表文档的document对象
增删该查
得到代表文档的document对象
36ppt
更新
40ppt
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; public class demo { public static void main(String[] args) throws Exception { //创建工厂 DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance(); //解析器 DocumentBuilder builder= builderFactory.newDocumentBuilder(); //document对象 Document document= builder.parse("day01/book.xml"); } }
增删该查
import java.io.FileOutputStream; import java.io.IOException; 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; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class demo2 { //利用递归遍历每一个节点 public void read()throws Exception { DocumentBuilderFactory builderFactory= DocumentBuilderFactory.newInstance(); DocumentBuilder builder=builderFactory.newDocumentBuilder(); Document document=builder.parse("day01/book.xml"); Node root=document.getElementsByTagName("书架").item(0); list(root); } private void list(Node root) { // TODO Auto-generated method stub System.out.println(root.getNodeName()); //得到所有儿子节点 NodeList list=root.getChildNodes(); for(int i=0;i<list.getLength();i++) { //每一个儿子节点 if(list.item(i)instanceof Element) { System.out.println(list.item(i)); list(list.item(i)); } } } // public void add() throws Exception { DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=builderFactory.newDocumentBuilder(); Document document=builder.parse("day01/book.xml"); //创建节点 Node node=document.createElement("售价"); node.setTextContent("100"); Node bookName=document.getElementsByTagName("书名").item(0); //增加节点 bookName.getParentNode().appendChild(node); //更新 TransformerFactory factory=TransformerFactory.newInstance(); Transformer transformer=factory.newTransformer(); transformer.transform(new DOMSource(document), new StreamResult(new FileOutputStream("day01/book.xml"))); } //增加指定位置的节点,增加两步 public void add2() throws Exception { DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=builderFactory.newDocumentBuilder(); Document document=builder.parse("day01/book.xml"); //参考节点 Node canNode=document.getElementsByTagName("作者").item(0); Node node=document.createElement("售价"); node.setTextContent("100"); Node bookName=document.getElementsByTagName("书").item(0); bookName.getParentNode().appendChild(node); //调用inserBefore bookName.insertBefore(node, canNode); // TransformerFactory factory=TransformerFactory.newInstance(); Transformer transformer=factory.newTransformer(); transformer.transform(new DOMSource(document), new StreamResult(new FileOutputStream("day01/book.xml"))); } //增加属性,得到属性 @Test public void addAttribute() throws Exception { DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=builderFactory.newDocumentBuilder(); Document document=builder.parse("day01/book.xml"); Element book=(Element) document.getElementsByTagName("书").item(0); String name="评价"; String value="好书啊"; book.setAttribute(name, value); String s=book.getAttribute("评价"); System.out.println(s); TransformerFactory factory=TransformerFactory.newInstance(); Transformer transformer=factory.newTransformer(); transformer.transform(new DOMSource(document), new StreamResult(new FileOutputStream("day01/book.xml"))); } //删除标签 @Test public void delete() throws Exception { DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=builderFactory.newDocumentBuilder(); Document document=builder.parse("day01/book.xml"); Element book=(Element) document.getElementsByTagName("作者").item(0); book.getParentNode().removeChild(book); TransformerFactory factory=TransformerFactory.newInstance(); Transformer transformer=factory.newTransformer(); transformer.transform(new DOMSource(document), new StreamResult(new FileOutputStream("day01/book.xml"))); } }
得到代表文档的document对象
36ppt
更新
40ppt
相关文章推荐
- XML案例(使用JAXP进行DOM解析)
- jaxp 解析xml 小demo 对xml文件标签实现增删改查crud操作
- 使用JAXP对XML文档进行DOM解析
- Jaxp解析XML的基本方法
- Sun公司的jaxp解析中的DOM解析与生成XML
- Java解析xml(jaxp)
- 使用JAXP Dom解析xml
- xml解析方式之JAXP解析入门
- XML、Jaxp SAX解析、dom4j解析XML、XPath运用
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP的DOM方式解析XML文档(能力工场)
- Jaxp解析XML的基本方法
- xml解析方式之JAXP解析入门
- JAXP:(Java API for XML Processing)DOM方式解析XML文件
- 【JAVA学习小结】-【用JAXP解析包解析XML方法】-【第一篇DOM解析】
- XML解析(增删改查)-DOM解析(Jaxp、DOM4J实现DOM解析)、SAX解析(Jaxp实现SAX解析)
- jaxp解析xml文档实现增删改查
- [学习笔记]XML解析之JAXP
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP的DOM方式解析XML文档(能力工场)