栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java解析xml常用的几种方式总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java解析xml常用的几种方式总结

各种方法都用过。现在总结一下。 经常记不住,要找资料。现在总结一下。

xml 文件如下:

复制代码 代码如下:



  Everyday Italian
  Giada De Laurentiis
  2005
  30.00
 
   
    ccccc
   

 


  Harry Potter
  J K. Rowling
  2005
  29.99


  XQuery Kick Start
  James McGovern
  Per Bothner
  Kurt Cagle
  James Linn
  Vaidyanathan Nagarajan
  2003
  49.99


  Learning XML
  Erik T. Ray
  2003
  39.95


复制代码 代码如下:
package sort;
import javax.xml.parsers.documentBuilder;
import javax.xml.parsers.documentBuilderFactory;
import org.w3c.dom.document;
public class D2 {
 
 public static void main(String[] args) throws Exception{

  documentBuilder sb =  documentBuilderFactory.newInstance().newdocumentBuilder();

  document root = sb.parse(D2.class.getClassLoader().getResourceAsStream("NewFile.xml"));

  System.out.println(root.getChildNodes().item(0).getNodeName());

 }
}

复制代码 代码如下:
package sort;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl;

public class D {

 
 public static void main(String[] args) throws Exception {

  SAXParserFactory factory = SAXParserFactoryImpl.newInstance();
  SAXParser parser = factory.newSAXParser() ;
  parser.parse(D.class.getClassLoader().getResourceAsStream("NewFile.xml"),
    new DefaultHandler(){

     @Override
     public void characters(char[] ch, int start, int length)
       throws SAXException {
      System.out.println("characters");
     }

     @Override
     public void enddocument() throws SAXException {
      // TODO Auto-generated method stub
      System.out.println("enddocument");
     }

     @Override
     public void endElement(String uri, String localName,
       String qName) throws SAXException {
      // TODO Auto-generated method stub
      System.out.println("endElement");
     }

     @Override
     public void startdocument() throws SAXException {
      // TODO Auto-generated method stub
      System.out.println("startdocument");
     }

     @Override
     public void startElement(String uri, String localName,
       String qName, Attributes attributes)
       throws SAXException {
      // TODO Auto-generated method stub
      System.out.println("startElement");
     }

  }) ;

  
 }

}

复制代码 代码如下:
package sort;

import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader;

public class D3 {

 
 public static void main(String[] args) throws Exception {

  XMLInputFactory xmlFactor = XMLInputFactory.newFactory();

  XMLStreamReader reader =
   xmlFactor.createXMLStreamReader(D3.class.getClassLoader().getResourceAsStream("NewFile.xml"));
  while(reader.hasNext()){
   int point = reader.next() ;
   switch(point){
   case XMLStreamReader.START_ELEMENT :
    System.out.println("start_element");
   case XMLStreamReader.END_ELEMENT :
    // do something...
   }

  }

 }

}

复制代码 代码如下:
package sort;

import org.dom4j.document;
import org.dom4j.io.SAXReader;


public class D4 {

 public static void main(String[] args) throws Exception{

  SAXReader reader = new SAXReader() ;

  document root = reader.read(D4.class.getClassLoader().getResourceAsStream("NewFile.xml"));

  
  System.out.println(root.selectNodes("//cc").size());;

  
  System.out.println((root.selectNodes("//book[author]").size()));;

  
  System.out.println((root.selectNodes("//book[@category]").size()));;

  
  System.out.println(root.selectNodes("//book[author='James McGovern'][@category='WEB']/price").size());;

 }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/152849.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号