- 浏览: 167443 次
- 性别:
- 来自: 北京
最新评论
-
TonyLee0329:
求真实案例
java中compareTo比较两个日期大小 -
fdyo3:
高手
两个值相同的Integer类型用!=比较出错的问题 -
宋小寒:
http://www.blogjava.net/sternin ...
java多线程socket通信---Telnet
<?xml version="1.0" encoding="UTF-8"?>
<HD>
<disk name="C">
<capacity>8G</capacity>
<directories>200</directories>
<files>1580</files>
</disk>
<disk name="D">
<capacity>10G</capacity>
<directories>500</directories>
<files>3000</files>
</disk>
</HD>
以上为test.xml文件内容
1、dom方式解析,无需jar
package Dom;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class DomXML {
public static void main(String[] args)throws Exception {
//得到DOM解析器的工厂实例
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
//从DOM工厂中获得DOM解析器
DocumentBuilder dbBuilder = dbFactory.newDocumentBuilder();
//声明为File为了识别中文名
Document doc = null;
doc = dbBuilder.parse("F:/work_sapce_petroskill/Spring/src/Dom/test.xml");
//得到文档名称为Student的元素的节点列表
NodeList list = doc.getElementsByTagName("disk");
//遍历该集合,显示结合中的元素及其子元素的名字
for(int i = 0; i< list.getLength() ; i ++){
Element element = (Element)list.item(i);
String name=element.getAttribute("name");
String capacity=element.getElementsByTagName("capacity").item(0).getFirstChild().getNodeValue();
String directories=element.getElementsByTagName("directories").item(0).getFirstChild().getNodeValue();
String files=element.getElementsByTagName("files").item(0).getFirstChild().getNodeValue();
System.out.println("磁盘信息:");
System.out.println("分区盘符:"+name);
System.out.println("分区容量:"+capacity);
System.out.println("目录数:"+directories);
System.out.println("文件数:"+files);
System.out.println("-----------------------------------");
}
}
}
2、jdom解析,jdom.jar
package Dom;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class JDomXML {
public static void main(String[] args) throws Exception{
SAXBuilder sb=new SAXBuilder();
Document doc=sb.build(Dom4jXML.class.getClassLoader().getResourceAsStream("Dom/test.xml")); //构造文档对象
Element root=doc.getRootElement(); //获取根元素
List list=root.getChildren("disk");//取名字为disk的所有元素
for(int i=0;i<list.size();i++){
Element element=(Element)list.get(i);
String name=element.getAttributeValue("name");
String capacity=element.getChildText("capacity");//取disk子元素capacity的内容
String directories=element.getChildText("directories");
String files=element.getChildText("files");
System.out.println("磁盘信息:");
System.out.println("分区盘符:"+name);
System.out.println("分区容量:"+capacity);
System.out.println("目录数:"+directories);
System.out.println("文件数:"+files);
System.out.println("-----------------------------------");
}
}
}
3、dom4j,dom4j。jar
package Dom;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jXML{
public static void main(String[] args) throws Exception {
//创建文件对象
java.io.File file=new java.io.File("F:/workSapce/javaXML/src/Dom/test.xml");
//创建一个读取XML文件的对象
SAXReader reader=new SAXReader();
//创建一个文档对象
Document document=reader.read(file);
//获取文件的根节点
Element element=document.getRootElement();
for(Iterator i=element.elementIterator("disk");i.hasNext();){
//获取节点元素
element=(Element)i.next();
String name=element.attributeValue("name");
String capacity=element.elementText("capacity");//取disk子元素capacity的内容
String directories=element.elementText("directories");
String files=element.elementText("files");
System.out.println("磁盘信息:");
System.out.println("分区盘符:"+name);
System.out.println("分区容量:"+capacity);
System.out.println("目录数:"+directories);
System.out.println("文件数:"+files);
System.out.println("-----------------------------------");
}
}
}
以上为几种常见的xml文件解析方法
转自:http://lhkzyz.iteye.com/blog/1681905
此外还有sax等解析方法,而且sax速度很快,很好用,文件小点儿的话用dom或者jdom,不过原理基本相同,就是效率的问题
以后还会更新...
<HD>
<disk name="C">
<capacity>8G</capacity>
<directories>200</directories>
<files>1580</files>
</disk>
<disk name="D">
<capacity>10G</capacity>
<directories>500</directories>
<files>3000</files>
</disk>
</HD>
以上为test.xml文件内容
1、dom方式解析,无需jar
package Dom;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class DomXML {
public static void main(String[] args)throws Exception {
//得到DOM解析器的工厂实例
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
//从DOM工厂中获得DOM解析器
DocumentBuilder dbBuilder = dbFactory.newDocumentBuilder();
//声明为File为了识别中文名
Document doc = null;
doc = dbBuilder.parse("F:/work_sapce_petroskill/Spring/src/Dom/test.xml");
//得到文档名称为Student的元素的节点列表
NodeList list = doc.getElementsByTagName("disk");
//遍历该集合,显示结合中的元素及其子元素的名字
for(int i = 0; i< list.getLength() ; i ++){
Element element = (Element)list.item(i);
String name=element.getAttribute("name");
String capacity=element.getElementsByTagName("capacity").item(0).getFirstChild().getNodeValue();
String directories=element.getElementsByTagName("directories").item(0).getFirstChild().getNodeValue();
String files=element.getElementsByTagName("files").item(0).getFirstChild().getNodeValue();
System.out.println("磁盘信息:");
System.out.println("分区盘符:"+name);
System.out.println("分区容量:"+capacity);
System.out.println("目录数:"+directories);
System.out.println("文件数:"+files);
System.out.println("-----------------------------------");
}
}
}
2、jdom解析,jdom.jar
package Dom;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class JDomXML {
public static void main(String[] args) throws Exception{
SAXBuilder sb=new SAXBuilder();
Document doc=sb.build(Dom4jXML.class.getClassLoader().getResourceAsStream("Dom/test.xml")); //构造文档对象
Element root=doc.getRootElement(); //获取根元素
List list=root.getChildren("disk");//取名字为disk的所有元素
for(int i=0;i<list.size();i++){
Element element=(Element)list.get(i);
String name=element.getAttributeValue("name");
String capacity=element.getChildText("capacity");//取disk子元素capacity的内容
String directories=element.getChildText("directories");
String files=element.getChildText("files");
System.out.println("磁盘信息:");
System.out.println("分区盘符:"+name);
System.out.println("分区容量:"+capacity);
System.out.println("目录数:"+directories);
System.out.println("文件数:"+files);
System.out.println("-----------------------------------");
}
}
}
3、dom4j,dom4j。jar
package Dom;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jXML{
public static void main(String[] args) throws Exception {
//创建文件对象
java.io.File file=new java.io.File("F:/workSapce/javaXML/src/Dom/test.xml");
//创建一个读取XML文件的对象
SAXReader reader=new SAXReader();
//创建一个文档对象
Document document=reader.read(file);
//获取文件的根节点
Element element=document.getRootElement();
for(Iterator i=element.elementIterator("disk");i.hasNext();){
//获取节点元素
element=(Element)i.next();
String name=element.attributeValue("name");
String capacity=element.elementText("capacity");//取disk子元素capacity的内容
String directories=element.elementText("directories");
String files=element.elementText("files");
System.out.println("磁盘信息:");
System.out.println("分区盘符:"+name);
System.out.println("分区容量:"+capacity);
System.out.println("目录数:"+directories);
System.out.println("文件数:"+files);
System.out.println("-----------------------------------");
}
}
}
以上为几种常见的xml文件解析方法
转自:http://lhkzyz.iteye.com/blog/1681905
此外还有sax等解析方法,而且sax速度很快,很好用,文件小点儿的话用dom或者jdom,不过原理基本相同,就是效率的问题
以后还会更新...
- jdom.jar.zip (149.2 KB)
- 下载次数: 1
- dom4j-1.6.1.jar.zip (306.5 KB)
- 下载次数: 0
发表评论
-
在同一台服务器上配置多个Tomcat
2015-08-19 18:00 740在一台服务器上配置 ... -
Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring
2015-08-19 14:25 1200Mybatis MapperScannerConfig ... -
jboss之启动加载过程详解(-)
2015-05-18 15:06 1204今天看了看jboss的boot.l ... -
Mybatis中几个重要类
2015-04-24 18:44 1319本文基于Mybatis3.2.0版本的代码。 1.org. ... -
『转』Spring Security的核心拦截器
2014-08-07 11:36 9531. HttpSessionContextIntegrat ... -
quartz CronExpression表达式
2014-07-24 14:33 546一个cron表达式有至少6 ... -
environments was not found on the java.library.path: E:\Program Files (x86)\Java
2014-07-23 11:10 916启动的时候出现的这个信息,不是错误,程序也可以正常的运行, ... -
java String 以及字符串直接量 与 字符串驻留池 ...
2014-07-16 13:56 933字符串 (String) 是 java 编程语言中的核心类 ... -
hibernate缓存机制
2014-07-03 00:02 751http://www.blogjava.net/tbwshc/ ... -
hibernate修改部分字段
2014-07-02 23:39 760http://blog.csdn.net/kkdelta/ar ... -
解惑 spring 嵌套事务
2014-06-24 15:44 711/** * @author 王政 * @dat ... -
浅析Java虚拟机结构与机制
2014-05-07 17:04 530浅析Java虚拟机结构与机制 本文旨在给所有希望了解J ... -
多语言调用之 Java调用C/C++
2014-04-09 14:52 6861.创建一个类com.test.TestCall内容如下 ... -
多线程实例
2014-04-09 14:47 530编写具有多线程能力的程序经常会用到的方法有: r ... -
java中的native关键字
2014-04-09 11:43 732JNI是Java Native Interface的 ... -
Spring分布式事务在service中动态切换数据源
2014-04-02 18:23 1133项目采用的是struts2+spring+ibatis架构, ... -
java的finalize
2014-03-31 14:04 518目录 基本预备相关知 ... -
读懂tomcat6 之Catalina.sh --注释版
2014-03-24 10:27 1163粗体字部分是我的注释,可能对那些不太熟悉Shell 的人有 ... -
tomcat下使用cronolog对catalina.out日志文件分割
2014-03-24 10:24 874tomcat 的catalina.out文件的不断 ... -
jsp直接使用session
2014-03-12 11:07 722在servlet中,要得到session并设值 要用 requ ...
相关推荐
易语言XML解析主要涉及到以下几个关键知识点: 1. **XML基础**:首先,我们需要了解XML的基本结构和语法规则,如元素(Element)、属性(Attribute)、文本内容(Text Content)、注释(Comment)以及命名空间...
本文将深入探讨几种常见的XML解析框架,并对比它们的特点与适用场景。 一、DOM解析器 DOM(Document Object Model)是W3C制定的一种标准,它将XML文档视为一个树形结构,允许开发者通过节点操作来读取和修改XML内容...
在iOS开发中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它用于存储和传输结构化数据。XML的解析是iOS应用处理XML数据的关键步骤,这涉及到将XML文档转换为应用程序可以理解的数据结构。本文将...
在Android开发中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它用于存储和传输结构化数据。XML解析是将XML文档转换为Java对象的过程,这对于Android应用程序的资源配置、布局定义以及数据交换至...
在C语言中,实现XML解析通常涉及以下几个步骤: 1. **解析XML文档**:这一步需要读取XML文件并将其转化为内存中的数据结构。可以使用递归下降解析器(Recursive Descent Parser)或基于事件的解析器(Event-based ...
iOS中的XML解析主要有以下几种方法: 1. **NSXMLParser**: NSXMLParser是Apple提供的一个基于事件驱动的XML解析器。它逐行读取XML文档,遇到每个元素、属性或其他XML结构时都会触发相应的代理方法。开发者需要...
对于XML文件的解析,掌握几种常用的方法是至关重要的。根据给定文件的信息,我们将深入探讨四种最常用的XML文件解析技术:DOM(Document Object Model)、SAX(Simple API for XML)、STAX(Streaming API for XML)...
在IT行业中,XML(eXtensible Markup Language)文件是一种常用的数据存储和交换格式,尤其在数据传输和配置文件中非常常见。本项目名为“天气预报 .xml文件解析”,其核心在于利用XML文件来存储天气预报数据,并...
分析这个源码可以帮助理解XML解析的底层工作原理,并提供一个基础的C语言XML处理框架,这对于开发涉及XML的系统或工具非常有价值。 总结来说,C语言实现XML文件解析需要对XML语法有深入理解,同时熟练掌握字符串...
DOM(Document Object Model)是XML解析的一种常见方法,它将XML文档视为一个树形结构,允许开发者通过节点操作来遍历和修改XML内容。以下是一个使用Python的`xml.dom.minidom`库进行DOM解析的例子: ```python ...
以下是几种常见的方法: 1. **DOM解析**:Document Object Model(DOM)是XML和HTML的标准表示模型。在C#中,我们可以使用`System.Xml`命名空间中的`XmlDocument`类来加载整个XML文档到内存中,然后通过遍历DOM树来...
SAX(Simple API for XML)是XML解析器的一种,它采用事件驱动的方式对XML文档进行解析,而不是一次性加载整个文档到内存中,因此在处理大型XML文件时,SAX解析器具有较高的性能和较低的内存消耗。 标题“sax解析...
在Android开发中,XML(eXtensible Markup Language)是一种常用的数据存储和交换格式,用于配置文件、数据传输以及布局描述等。XML解析是将XML文档转换为程序可理解的数据结构的过程,Android提供了三种主要的XML...
在Android开发中,XML(eXtensible Markup Language)是一种常用的数据存储和交换格式,尤其在应用程序的配置、布局和数据传输中发挥着关键作用。本实例代码将深入探讨如何利用SAX(Simple API for XML)解析器处理...
在VC++ 6.0中,开发XML解析器通常涉及以下几个关键步骤: 1. **包含必要的库**:使用Visual C++ 6.0,可能需要链接XML解析库,例如MSXML或TinyXML,它们提供了API来解析XML文档。MSXML是Microsoft提供的COM组件,而...
在JAVA中有两种常见的XML解析方式,DOM和SAX,DOM在解析的时候会将所有的数据一次性载入内存中进行解析,在数据量比较大的情况下,效率非常低.尤其在手机这种对内存和性能要求比较苛刻的设备里面这种方法并不可取. ...
在iOS中,XML解析通常有以下几种方式:NSXMLParser、GDataXML、XMLReader以及libxml2库。其中,XMLReader因其性能和内存管理的优势,成为处理大量XML数据的理想选择。 首先,我们需要了解XML的基本结构。XML文档由...
本文将深入探讨XML的四种常见解析方法:DOM、JDOM、SAX和XPath。 1. DOM(Document Object Model)解析: DOM是W3C推荐的标准解析模型,它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。DOM解析器会...
标题中的“非常好用的Delphi的XML解析类”指的是在Delphi编程环境中,存在一个高效且易用的XML解析库。Delphi是Object Pascal的一种现代实现,它提供了一个强大的集成开发环境(IDE)和丰富的库支持,包括XML处理。...