java解析xml二种方法

java解析xml二种方法

配置文件为:

<?xml version="1.0" encoding="utf-8"?>
<config>
    <point name="test1">
        <name>zhang3</name>
        <address>abcdefg</address>
        <email>a@b.c</email>
    </point>
</config>

 

程序中使用如下:

public static void main(string[] args) {
    try {
        saxreader reader = new saxreader();
        document  document = reader.read(new file("src/config.xml"));
        element root = document.getrootelement();
        for(iterator it=root.elementiterator();it.hasnext();){
            element element = (element) it.next();
            system.out.println(element.elementtext("name") + element.elementtext("address") + element.elementtext("email"));
        }
    } catch (documentexception e) {
        e.printstacktrace();
    }
}

实例二

xml 文件格式如下:

  <?xml version="1.0" encoding="gb2312"?>
  <result>
  <value>
  <no>a1234</no>
  <addr>四川省xx县xx镇xx路x段xx号</addr>
  </value>
  <value>
  <no>b1234</no>
  <addr>四川省xx市xx乡xx村xx组</addr>
  </value>
  </result>

jsp教程 文件:

  <%@ page contenttype="text/html; charset=gb2312" %>
  <%@ page import="com.test.*"%>

  <html>
  <body>
  <%
  string args[]={""};
  myxmlreader.main(args);
  %>
  </body>
  </html>

  测 试

  首先出场的是 dom(jaxp crimson 解析器)

  dom 是用与平台和语言无关的方式表示 xml 文档的官方 w3c 标准。dom 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而 dom 被认为是基于树或基于对象的。dom 以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像 sax 那样是一次性的处理。dom 使用起来也要简单得多。

  另一方面,对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用其他手段来处理这样的数据会更好。这些基于事件的模型,比如 sax。

  

bean文件:

  package com.test;

  import java.io.*;
  import java.util.*;
  import org.w3c.dom.*;
  import javax.xml.parsers.*;

  public class myxmlreader{

  public static void main(string arge[]){
  long lasting =system.currenttimemillis();
  try{
   file f=new file("data_10k.xml");
   documentbuilderfactory factory=documentbuilderfactory.newinstance();
   documentbuilder builder=factory.newdocumentbuilder();
   document doc = builder.parse(f);
   nodelist nl = doc.getelementsbytagname("value");
   for (int i=0;i<nl.getlength();i++){
    system.out.print("车牌号码:" + doc.getelementsbytagname("no").item(i).getfirstchild().getnodevalue());
    system.out.println(" 车主地址:" + doc.getelementsbytagname("addr").item(i).getfirstchild().getnodevalue());
  }
  }catch(exception e){
   e.printstacktrace();
  }
  system.out.println("运行时间:"+(system.currenttimemillis() - lasting)+" 毫秒");
  }
  }

时间: 2024-10-03 13:53:48

java解析xml二种方法的相关文章

java遍历目录二种方法

我是通过分割字符串来求得其所有子目录相对于根目录的深度,然后再减去输入目录相对于根目录的深度,就得到了输入目录的深度 方法一 import java.io.file; import java.util.arraylist; public class filesystem1 {     private static arraylist filelist = new arraylist();     public static void main(string[] args) {         l

Java解析xml的四种方法汇总_java

1. DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以在任何时候在树中上下导航,而不是像SAX

详解Java解析XML的四种方法_java

XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transform

java发送url请求获取返回值的二种方法_java

下面提供二种方法会使用java发送url请求,并获取服务器返回的值 第一种方法: 复制代码 代码如下: import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFor

java解析xml的问题

问题描述 我的目的是吧<clothes>到</clothes>和<comfort>到</comfort>中的index.suggestion.icon的数值拿出来,我该怎么弄?例如:输出6.建议着寒冷服装.chuanyi_6.jpg<clothes><chuanyi-zhishuindex="6"/><chuanyi-jianyisuggestion="建议着寒冷服装"/><c

java解析xml的问题。。。

问题描述 java解析xml的问题... 我有三个xml文件,里面的节点格式不一致大致相同,怎么样写个通用的方法将我指定的内容读取出来? 解决方案 http://blog.csdn.net/wwww1988600/article/details/9019785 解决方案二: 原文:点击打开链接 今日在开发一个实现读取XML文件指定节点的值或属性值的公用方法时,碰到了中文乱码问题,最终通过百度和google把它搞定了,今天在这里发表一下,一个作为自己的资源,另一个也希望能给其他人带来一些帮助. x

JAVA解析XML

在JAVA中最常用的解析xml的方式有四种,分别为:sax.dom.dom4j.jdom.sax方式的解析是基于事件的,比较适合大数据的解析,而dom的方式会将xml加载到内存中,构建出dom树,解析大文件时容易造成内存溢出,在实际开发中,我们应该选择最合适的解析方式. 假设我们有这样一个xml文件: <xml> <userId><![CDATA[jianggujin]]></userId> <userName><![CDATA[蒋固金]]

Android开发之DOM解析xml文件的方法_Android

本文实例讲述了Android中DOM解析xml文件的方法.分享给大家供大家参考,具体如下: 一.在assets文件中写xml文件 <?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>李明</name> <age>30</age> </person> <pe

Android编程解析XML文件的方法详解【基于XmlPullParser】

本文实例讲述了Android编程解析XML文件的方法.分享给大家供大家参考,具体如下: 前言 在学习Android的Framework层源码时,Android大量的使用XmlPullParser来解析xml文件的源码.因此,这里也顺道介绍一下XmlPullParser的使用. XML XML(eXtensible Markup Language)中文名为可扩展标记语言.标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等. 用途 XML设计用了传送及携带数据信息,