java解析xml

来源:互联网 发布:java语言基础教程pdf 编辑:程序博客网 时间:2024/05/22 13:52

*.如何通过DOM解析xml文档遍历其中的所有元素通过java解析
import javax.xml.parsers.DocumentBuilderFactory;DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();//通过工厂创建dbf实例dbf.setIgnoringElementContentWhitespace(true);//忽视大小写DocumentBuilder db=dbf.newDocumentBuilder();//通过dbf创建dbDocument doc=db.parse(srcstu.xml);//通过parse解 Element e=doc.getDocumentElement();//然后通过doc.getElement来获取根节点等操作NodeList list=e.getChildNodes();//获取子节点for(int i=0;ilist.getLength();i++){Node temp=list.item(i);//不可以用方括号获取if(temp instanceof Element);//判断是否为元素节点if(temp instanceof Text);//导包的时候导w3c.domsystem.out.print(temp.getNodeName);//可以获取节点名称if(temp.hasChildNodes());//判断是否含有子节点}

*.通过jdom解析xml
import org.jdom.Document;import org.jdom.input.SAXBuilder;SAXBuilder builder=new SAXBuilder();Document dom=builder.build(new File("/1.xml"));System.out.println(dom.getRootElement().getName());//获取根元素Element root=dom.getRootElement();root.getChildren();


*通过jdom新建一个xml

package com.star.jdbc; import java.io.FileOutputStream; import org.jdom.Document; import org.jdom.Element; import org.jdom.Namespace; import org.jdom.Text; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; import junit.framework.TestCase; public class TestXML extends TestCase {    public void testCreate(){     try{       Document doc = new Document();        Namespace ns = Namespace.getNamespace("http://www.bromon.org"); //namespace就是xml中的xmlns      Namespace ns2 = Namespace.getNamespace("other", "http://www.w3c.org");       Element root = new Element("根元素", ns);       root.addNamespaceDeclaration(ns2);       doc.setRootElement(root);          Element el1 = new Element("元素一");       el1.setAttribute("属性", "属性一"); //设置属性      Text text1 = new Text("元素值");   //设置内容      Element em = new Element("元素二").addContent("第二个元素");       el1.addContent(text1);       el1.addContent(em);          Element el2 = new Element("元素三").addContent("第三个元素");        root.addContent(el1);       root.addContent(el2);               XMLOutputter outputter = null;       Format format = Format.getCompactFormat();       format.setEncoding("GB2312"); //设置编码      format.setIndent("    ");//设置分割符,使xml文件看起来有层次       outputter = new XMLOutputter(format);       outputter.output(doc, new FileOutputStream("C:\\a.xml"));     }catch(Exception e){       e.printStackTrace();     }   } }


原创粉丝点击