java解析xml


*.如何通过DOM解析xml文档遍历其中的所有元素通过java解析
import javax.xml.parsers.DocumentBuilderFactory;
	
	DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();//通过工厂创建dbf实例
	dbf.setIgnoringElementContentWhitespace(true);//忽视大小写
	DocumentBuilder db=dbf.newDocumentBuilder();//通过dbf创建db
	Document 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.dom
		system.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(); 
    } 
  } 
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值