读取xml文件

来源:互联网 发布:二叉树层次遍历 java 编辑:程序博客网 时间:2024/05/21 08:50
简单的一个xml文件
<?xml version="1.0" encoding="UTF-8"?><书架>     <书>        <书名 name="wang">web实战开发</书名>        <作者>王国辉</作者>        <售价>100</售价>     </书>     <书>        <书名>java核心技术</书名>        <作者>Gary.Cornnell</作者>        <售价>100</售价>     </书></书架>
然后用java写程序来读取该文件
import java.io.FileOutputStream;import java.io.IOException;//所有相关的包都是org.w3c.domimport 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 Factory {/*public static void main(String[] args) throws Exception{//创建工厂DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();//创建dom解析器DocumentBuilder builder=factory.newDocumentBuilder();//解析xml文档,得到代表文档的documentDocument document=builder.parse("src/book.xml");}*/@Testpublic void read() throws Exception{DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();DocumentBuilder builder=factory.newDocumentBuilder();Document document=builder.parse("G:\\JAVA  TEST\\Test\\src\\test1\\book.xml");NodeList list=document.getElementsByTagName("书名");Node node=list.item(1);String content=node.getTextContent();System.out.println(content);}@Testpublic void read1() throws Exception{DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();DocumentBuilder builder=factory.newDocumentBuilder();Document document=builder.parse("G:\\JAVA  TEST\\Test\\src\\test1\\book.xml");Node node=document.getElementsByTagName("书架").item(0);root(node);}private void root(Node node)            //私有方法才能运行成功{if(node instanceof Element){System.out.println(node.getNodeName());}NodeList list=node.getChildNodes();for(int i=0;i<list.getLength();i++){Node child=list.item(i);root(child);}}@Testpublic void read3() throws Exception{DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();DocumentBuilder builder=factory.newDocumentBuilder();Document document=builder.parse("G:\\JAVA  TEST\\Test\\src\\test1\\book.xml");Element bookname=(Element)document.getElementsByTagName("书名").item(0);//在知道类型的情况下转化String value=bookname.getAttribute("name");System.out.println(value);}@Testpublic void read4() throws Exception{DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();DocumentBuilder Builder=factory.newDocumentBuilder();Document document=Builder.parse("G:\\JAVA  TEST\\Test\\src\\test1\\book.xml");//创建节点Element Class=document.createElement("类别");Class.setTextContent("it");//把该元素添加到节点//获得参考节点Element refnode=(Element)document.getElementsByTagName("售价").item(0);Element book=(Element)document.getElementsByTagName("书").item(0);//插入到指定位置book.insertBefore(Class, refnode);//把更新内容保存的xml文档TransformerFactory transformerfactory=TransformerFactory.newInstance();Transformer transformer=transformerfactory.newTransformer();transformer.transform(new DOMSource(document),new StreamResult(new FileOutputStream("G:\\JAVA  TEST\\Test\\src\\test1\\book.xml")));}}



原创粉丝点击