读取xml数据文件(转)

java里有个properties类  可以用它来读取XML文件  
 
xml文件:  Xml代码 
<?xml version="1.0" encoding="GB2312"?>  
<RESULT>  
<VALUE>  
<NO>A1234</NO>  
<ADDR>河南省郑州市</ADDR>  
</VALUE>  
<VALUE>  
<NO>B1234</NO>  
<ADDR>河南省郑州市二七区</ADDR>  
</VALUE>  
</RESULT>

第一种 DOM 实现方法:  Java代码 
import java.io.File;  
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;  
import org.w3c.dom.Document;  
import org.w3c.dom.NodeList;  
public class MyXMLReader2DOM {  
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());  
System.out.println("运行时间:" + (System.currentTimeMillis() - lasting)  
+ "毫秒");  }  }  
} catch (Exception e) {  
e.printStackTrace();

}  }  }  
第二种,DOM4J实现方法:  Java代码 
import java.io.*;  
import java.util.*;  
import org.dom4j.*;  
import org.dom4j.io.*;  
public class MyXMLReader2DOM4J {  
public static void main(String arge[]) {  
long lasting = System.currentTimeMillis();  try {  
File f = new File("data_10k.xml");

SAXReader reader = new SAXReader();  
Document doc = reader.read(f);  
Element root = doc.getRootElement();  
Element foo;  
for (Iterator i = root.elementIterator("VALUE"); i.hasNext();) {  
foo = (Element) i.next();  
System.out.print("车牌号码:" + foo.elementText("NO"));  
System.out.println("车主地址:" + foo.elementText("ADDR"));  }  
System.out.println("运行时间:" + (System.currentTimeMillis() - lasting)  
+ "毫秒");  }  
} catch (Exception e) {

e.printStackTrace();  }  }  }  
第三种 JDOM实现方法:  Java代码 
import java.io.*;  
import java.util.*;  
import org.jdom.*;  
import org.jdom.input.*;  
public class MyXMLReader2JDOM {  
public static void main(String arge[]) {  
long lasting = System.currentTimeMillis();

ry {  
SAXBuilder builder = new SAXBuilder();  
Document doc = builder.build(new File("data_10k.xml"));  
Element foo = doc.getRootElement();  
List allChildren = foo.getChildren();  
for (int i = 0; i < allChildren.size(); i++) {  
System.out.print("车牌号码:"+ ((Element) allChildren.get(i)).getChild("NO").getText());  
System.out.println("车主地址:"+ ((Element) allChildren.get(i)).getChild("ADDR").getText());  }  
System.out.println("运行时间:" + (System.currentTimeMillis() - lasting)  
+ "毫秒");  }  
} catch (Exception e) {

e.printStackTrace();  }  }  }  
第四种SAX实现方法:  Java代码 
import javax.xml.parsers.SAXParser;  
import javax.xml.parsers.SAXParserFactory;  
import org.xml.sax.Attributes;  
import org.xml.sax.InputSource;  
import org.xml.sax.SAXException;  
import org.xml.sax.helpers.DefaultHandler;  
public class MyXMLReader2SAX extends DefaultHandler {  
java.util.Stack = new java.util.Stack();

public MyXMLReader2SAX() {  super();  }  
public static void main(String args[]) {  
long lasting = System.currentTimeMillis();  try {  
SAXParserFactory sf = SAXParserFactory.newInstance();  
SAXParser sp = sf.newSAXParser();  
MyXMLReader2SAX reader = new MyXMLReader2SAX();  
sp.parse(new InputSource("data_10k.xml"), reader);  
} catch (Exception e) {  
e.printStackTrace();  }

System.out.println("运行时间:" + (System.currentTimeMillis() - lasting)  
+ "毫秒");  }  
public void characters(char ch[], int start, int length)  
throws SAXException {  
String tag = (String) .peek();  
if (tag.equals("NO")) {  
System.out.print("车牌号码:" + new String(ch, start, length));  }  
if (tag.equals("ADDR")) {  
System.out.println("地址:" + new String(ch, start, length));  }  }

public void startElement(String uri, String localName, String qName,  
Attributes attrs) {  
.push(qName);  }  }

时间: 2024-10-10 09:46:59

读取xml数据文件(转)的相关文章

XML序列化器读取XML数据

PS:标题我还真的不知道该怎么取比较好,大家将就下吧^_^ 场景:上周接到一个任务,要求我把ASP写的会员充值功能,用ASP.NET复制一遍,没有给我需求文档,就是让我根据代码去分析业务逻辑,然后看到一个IP识别功能,就是判断该会员卡是否可以在该IP段内使用,看着一大片的用if then 写的IP地址判断,我就蛋疼了.... 我就一直琢磨该怎么优化代码,开始用逗号去分割,然后把IP地址写在web.config中,但是太多了,然后请教同事,同事说可以用XML配置(web.config虽然也是XML

(4)cocos2dx读取csv数据文件

cocos2dx中读取数据文件可能有很多种,像读取xml,lua,csv,json等,这些都可以作为配置数据的格式. 最近用到了读取csv数据文件,所以在网上找了一下关于这方面的技术博客.果然,网上各路大神都是不吝啬的, 不说废话了,直接上代码.代码如下(测试通过,可读取数据): .h头文件 // // QLCSVFile.h // // Created by quasi_lee on 15-7-7. // // #ifndef __QLCSVFile__ #define __QLCSVFile

读取xml格式文件

$v = [xml]get-content d:\vmconfig.xml $v.Domain.Computer.Name vmconfig.xml内容: <?xml version="1.0" encoding="UTF-8"?><Domain><Computer><Name>stcmm-vm-s01</Name><IpAddress>192.168.0.2</IpAddress>

读取 XML 数据时,超出最大字符串内容长度配额 (8192)

问题描述,在调用接口报错: 格式化程序尝试对消息反序列化时引发异常:  尝试对参数 http://tempuri.org/ 进行反序列化时出错: GetRechargeInfoListResponse.InnerException 消息是“反序列化对象 属于类型 ServiceReference.GetRechargeInfoListResponseBody 时出现错误.读取 XML 数据时,超出最大字符串内容长度配额 (8192).通过更改在创建 XML 读取器时所使用的 XmlDiction

Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据

PRM 全称为ParnassusData Recovery Manager ,由 诗檀软件自主研发,拥有独立的软件著作权. PRM可以独立于Oracle软件运行,直接从Oracle数据文件中抽取表上的数据. 当以下几种场景中,都可以用上PRM: 无备份或者备份不可用情况下,数据表被意外truncate掉或者DROP掉 由于数据库损坏,导致的数据打不开 无法OPEN 数据块存在损坏,Oracle无法读取出数据 数据文件存在损坏,或者数据文件头信息不一致 等等 以上这些问题中,用户均可以考虑使用PR

Web Service 或 WCF调用时读取 XML 数据时,超出最大字符串内容长度配额(8192)解决方法

1.调用服务时服务 当我们使用 Web Service 或 WCF 服务时,常把读取的数据转化为string类型(xml格式),当数据量达到一 定数量时,会出现以下异常: 错误:格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ (命名空间)进行反序列化时出错: InnerException 消息是“反序列化对象异常,读取 XML 数据时,超出最大字符串内容长度配额 (8192).通过更改在创建 XML 读取器时所使用的 XmlDictionaryRea

matlab读取二进制数据文件的方法

matlab可以直接读取二进制数据文件,并且可以将其加入到矩阵中. 如果对c语言十分熟悉的话,应该对fopen,fclose,ftell,fseek,fread,fwrite,feof 这些函数非常熟悉了,幸运的是在matlab中仍然可以使用这些函数来读入实验数据. 现在假定有一个数据文件叫data.dat,它的前面2k是存放参数的,我们做数据处理的时候 需要跳过去,后面的数据是16位整数类型的,每组数据有512个.现在要把该数据文件的 所有数据读入一个nx512的矩阵中,n的个数不定,根据数据

使用Java读取XML数据

---------------siwuxie095 工程名:ReadXML 包名:com.siwuxie095.xml 类名:ReadXML.java 打开资源管理器,在工程 ReadXML 文件夹下,放入 一个 XML 文件:languages.xml languages.xml 的内容: 工程结构目录如下: 代码: package com.siwuxie095.xml; import java.io.File; import java.io.IOException; import javax

读取xml数据装配到字典中之应用场景

前段时间看到支付宝设置里面有个多语言这个功能,蛮有意思的,就想双休没事的话做个相关的demo玩玩,可是礼拜六被妹子拽出去玩了一天,来大上海有大半年了,基本没有出去玩过,妹子说我是超级宅男,也不带她出去走走,妹子毕业后从大东北来到上海陪我一起打拼,想想蛮对不起她的.周六一天玩的很充实,走了很多路(一个星期的路都在这一天走完了),看了很多风景,回来洗个澡睡得很舒服,第二天也很清醒,其实除了写代码和玩游戏,发现双休出去走走真的挺不错的.附上几张图片,希望大家有时间多出去走走,也许有意外的收获啊! 星期