JAXP解析XML
来源:互联网 发布:怎么下载淘宝app 编辑:程序博客网 时间:2024/06/05 11:04
1. Book.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!-- <!DOCTYPE books SYSTEM "book.dtd">
<books><book><bookname>Java Web</bookname><auther>jerry2</auther><price>23</price><price>11123</price> </book> <book><bookname>Java Web</bookname><auther>jerry2</auther><price>23</price><price>11123</price> </book></books>
2.XMLParesDemo.Java
package xml;import java.io.File;import java.io.FileOutputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;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.Before;import org.junit.Test;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class XMLParseDemo {Document document= null; File file = null; @Before public void before() throws Exception{ //创建工厂 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //2. 得到DOM解析器 DocumentBuilder builder = factory.newDocumentBuilder(); file = new File("src\\book.xml");//3.解析xml文档 document = builder.parse(file ); } @Test public void read()throws Exception{ NodeList list = document.getElementsByTagName("books"); Node node = list.item(0); String content = node.getTextContent(); System.out.println(content); } @Test public void read2()throws Exception{ //得到根节点 Node root = document.getElementsByTagName("books").item(0); list(root); }@Testpublic void add() throws Exception{//创建节点Element price = document.createElement("price");price.setTextContent("23");//把创建的节点挂到第一本书上//得到要挂在的节点Element book = (Element) document.getElementsByTagName("book").item(1);//得到参考节点Element rfNode = (Element) book.getElementsByTagName("price").item(0); book.insertBefore(price, rfNode);//把更新后的内容写到XML文档TransformerFactory tffactory =TransformerFactory.newInstance();Transformer ft = tffactory.newTransformer();ft.transform(new DOMSource(document), new StreamResult(new FileOutputStream(file)));}@Testpublic void delete() throws Exception{//创建节点Element price = document.createElement("price");price.setTextContent("23");//得到要删除的节点Element book = (Element) document.getElementsByTagName("book").item(1);//得到删除节点的父节点Element parent = (Element) book.getParentNode();parent.removeChild(book); //把更新后的内容写到XML文档TransformerFactory tffactory =TransformerFactory.newInstance();Transformer ft = tffactory.newTransformer();ft.transform(new DOMSource(document), new StreamResult(new FileOutputStream(file)));}@Testpublic void update() throws Exception{//创建节点Element price = document.createElement("price");price.setTextContent("23re");//得到要删除的节点Element price1 = (Element) document.getElementsByTagName("price").item(1);//得到删除节点的父节点Element book = (Element) price1.getParentNode();price1.replaceChild(price, price1); //把更新后的内容写到XML文档TransformerFactory tffactory =TransformerFactory.newInstance();Transformer ft = tffactory.newTransformer();ft.transform(new DOMSource(document), new StreamResult(new FileOutputStream(file)));}private void list(Node node) {// TODO Auto-generated method stubif(node instanceof Element){System.out.println(node.getNodeName());}NodeList lists = node.getChildNodes();for (int i=0;i<lists.getLength();i++) {Node child = lists.item(i);list(child);}} }
0 0
- 使用JAXP解析XML
- jaxp对xml解析
- Java JAXP 解析XML
- JAXP解析XML文档
- JAXP解析XML
- jaxp解析xml
- XML之JAXP解析
- jaxp解析xml
- XML解析之JAXP
- jaxp解析xml
- Java解析xml(jaxp)
- 【XML】JAXP-SAX解析xml
- 用JAXP解析XML文档
- 用JAXP解析XML文档
- javawebXML及Jaxp解析XML
- xml的jaxp解析实例
- 解析xml文件(jaxp)
- 使用JAXP Dom解析xml
- 理解maven的核心概念
- Solr4.7源码分析-启动篇(一)
- Linux配置VNC服务
- 《樊江关》_0
- 栈的顺序存储结构的实现
- JAXP解析XML
- uml类图中得集中重要的逻辑关系和实现
- cocos2d-x使用python脚本创建项目的简单方法
- 在ios中的Document中创建多级文件夹以及文件
- MYSQL explain详解
- HDOJ 1281 棋盘游戏
- 感知机学习python 神经网络设计教材P43
- 安装Node.js
- window环境下,php环境拓展memcached