DOM方式解析XML文档(另2种方式为SAX,STAX),(第二种直接用sax方式用java类实现)

原创 2012年03月26日 14:32:10

1.      判断浏览器类别,返回xmlhttp

function loadXMLDoc(){

       varxmlhttp;

       if(window.XMLHttpRequest){

              xmlhttp=newXMLHttpRequest();

       }else{

              xmlhttp=newActiveXObject("Microsoft.XMLHTTP");

       }

       returnxmlhttp;

}

2.      XMLDocument加载方法,返回xmlDoc,同样要判断浏览器

function createXMLDoc(respon){

       varxmldoc=null;

       try{

              xmldoc=newActiveXObject("Microsoft.XMLDOM");

              xmldoc.async=false;  //同步

              xmldoc.loadXML(respon);

       }catch(e){

              try{

              varparser=new DOMParser();

              xmldoc=parser.parseFromString(respon,"text/xml");

              }catch(e){}

       }

       returnxmldoc;

}

 

3.解析XML文档











二。

package xml;


import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
import java.util.Random;


import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;


import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;


/*
 * xml文件的解析与读取(文件操作)
 */


public class XmlDocument {


public static void main(String[] args) {

work();

}


public static void work(){
String filePath="D:/Program Files/feiq/AutoRecv Files/vote";
getFile(filePath);

File[] files=new File(filePath).listFiles();

//或者 File file=new File(filePath);
// File[] files=file.listFiles();


for(File f:files){

//或者  for(int i=0;i<files.length;i++){
// File f=files[i].getAbsoluteFile();


vote(f);
}
}


public static void vote(File lefile){
try{
SAXBuilder builder = new SAXBuilder();
Document doc=builder.build(lefile);
Element ele=doc.getRootElement();
List list=ele.getChildren();
for (int i = 0; i < list.size(); ++i) {
String id = ((Element)list.get(i)).getChild("id")
       .getText();
       String phone = ((Element)list.get(i)).getChild("phone")
         .getText();
       String time = ((Element)list.get(i)).getChild("time")
       .getText();
       System.out.println("id:"+id);
       //System.out.println("phone:"+phone);
      // System.out.println("time:"+time);
}
}catch(Exception e){
e.printStackTrace();
}
}

public static void getFile(String folderPath)
 {
   String fileName = null;
   File folder = new File(folderPath);
   File[] files = folder.listFiles();
   for (int i = 0; i < files.length; ++i) {
     if (files[i].isFile()) {
       fileName = files[i].getName();
     }
    System.out.println(files[i].toString());
   }
   
   //return fileName;
 }




}

相关文章推荐

JavaEE实战——XML文档DOM、SAX、STAX解析方式详解

本文主要介绍XML文档作为存储和传输数据的三种解析方式,其各自主要的思想、实现方式、CURD实现,以及最后展示一个综合的实战例子加以巩固理解。...

JavaWeb 之 XML文档的DOM和SAX解析方式详解

笔记摘要:       这里主要介绍了DOM与SAX两种解析思想,其中DOM解析的开发包有Ajax和DOM4j,对于DOM4j,其强大的功能,在XPath方面尤为抢眼,       XPath类似于正...

Android 使用Dom与SAX解析xml文档的方式

package com.example.lxb.awaken.model; import com.example.lxb.awaken.SpeechApp; import java.io.IOE...

DOM、SAX、SimpleXML方式解析XML文档总结

本周学习知识点: XML扩展性标记语言:      一.DOM方式操作   二.SAX方式操作   三.simpleXML的方式   四.DOM 与 simpleXML相互转换  ...

JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之比较

JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较 1.各种方式的详解 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示...

简说XML的解析方式(DOM,SAX,StAX)

一般来说,解析XML文件存在着两种方式,一种是event-based API,比如说象SAX,XNI. 第二种是tree-based API,比如说DOM,JDOM,DOM4j等等. 一般来说,读取配...

JAVA SAX(流读取方式) 读取xml文档 简单列子

JAVA SAX 读取xml文档 package com.test; import java.io.File; import java.io.FileInputStream; import...

sax方式解析xml文档

public class DomDemo1 { @Test //需求:把第一个user节点的name的值取出来 public void getDom() throws Exception ...

SAX方式解析XML文档

SAX的特点这里不再赘述,仅用一实例说明SAX解析XML文档的方式与原理 1.SAX常用的接口    ContentHandler    该接口封装了一些对事件处理的方法,比如文档的开始和结束、元素的...

XML第十六讲:SAX方式解析XML文档深入详解

前面我讲到了两种解析XML的方法,一种是DOM解析,另外一种是SAX解析,DOM解析我们已经剖析过了,现在我们来讲一下SAX解析 1. SAX(Simple APIs for XML),...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DOM方式解析XML文档(另2种方式为SAX,STAX),(第二种直接用sax方式用java类实现)
举报原因:
原因补充:

(最多只允许输入30个字)