对XML文件的解析

1、应用配置文件的原因

在程序中我们经常会用到配置文件,就想我们用抽象工厂时为了方便数据库的替换,而将参数配置到配置文件中,还有为了读取一些可变信息,也要将其放到配置文件中,其具有方便,灵活等等一些好处。

2、使用配置文件的准备工作

需要引用两个jar包:dom4j-1.6.1和 jaxen-1.1-beta-6.jar

原因:1).dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的

2).使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方    式,XPath来自包 jaxen-1.1-beta-6.jar。

3、对XML文件的具体操作

1)XML文件如下(文件名:sys-conf.xm):

<?xml version="1.0" encoding="UTF-8"?>

<config>

<db-info>

<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>

<url>jdbc:oracle:thin:@127.0.0.1:1521:ORCL</url>

<user-name>***</user-name>

<password>***</password>

</db-info>

</config>

2)读取XML文件如下:

//定义读XML文档对象

SAXReader reader=new SAXReader();

//获取xml的路径

InputStream in= Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-conf.xml");

try {

//取xml文件中的值的方法 -------开始

Document doc=reader.read(in);

Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");

String driverName=driverNameElt.getStringValue();

System.out.println(driverName);

//取xml文件中的值的方法 -------结束

} catch (DocumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

时间: 2024-08-27 07:22:38

对XML文件的解析的相关文章

Android学习(48) -- 获取xml文件并解析.

1.根据xml的格式创建JavaBean public class News { private String title; private String detail; private String comment; private String imageUrl; @Override public String toString() { return "News [title=" + title + ", detail=" + detail + ",

Java之Pull方式生成xml文件和解析xml文件

Pull XML解析器早已经被google集成到android sdk当中,它是google官方推荐的解析器. 如果我们要在Java桌面.J2ME等当中使用Pull方式生成xml文件和解析xml文件,需要用到kxml2: KXML解析器是基于普通XML PULL解析器的一个小巧的解析器,官网是http://kxml.org/ 普通XML PULL解析器的官网是http://xmlpull.org/ 实验开始: 在Eclipse中新建一个java项目,其中新建一个libs文件夹,拷贝从网上下载的k

php对xml文件的解析

近来较少写博客了,得克服懒惰的秉性啊! 今天研究了一下php对xml文件的解析. 用到了php的simplexml_load_file()方法,该方法会将xml文件生成一个SimpleXMLElement对象,该对象是继承了Traversable接口的对象,即可以像数组那样遍历其子集. 这样,我们就可以循环得到xml文件的内容,不多说废话,上例子. 假设有如下内容,名为test.xml的xml文件: <?xml version="1.0" encoding="utf-8

Android 5.0 system_fonts.xml文件的解析过程

Android 5.0 system_fonts.xml文件的解析过程 首先看看看5.0 中familyset version="22" 的格式 20 <family name="sans-serif"> 21 <font weight="100" style="normal">Roboto-Thin.ttf</font> 22 <font weight="100"

用SAX和PULL进行XML文件的解析与生成

XML解析有传统的dom方法还有Jsoup,SAX,PULL等,这里讲的是比较省内存的SAX和PULL方法.Android中极力推荐用PULL的方式来解析,我个人觉得pull确实比较简单,但其内部的逻辑性不是很分明.所以今天做了个类来将其中的多个步骤进行了分割,以后直接拿来用即可. 1.SAX: 首先先讲解SAX中各个方法的作用: 我们以这个不规则的xml语句做例子: <abc:kale sex=m age=21>jack</abc:kale> startDocument:开始解析

说说你知道的XML文件的解析方式,它们有什么区别

说说你知道的XML文件的解析方式,它们有什么区别 DOM(document object model)解析 将整个xml全部读到内存中去,形成树状结构. 优点:解析效率高,且可以对文档进行增删的操作 缺点:当xml文件很大,会导致内存溢出. SAX(Simple API for XML)解析 读取一行,解析一行,基于事件驱动 优点:不会造成内存溢出 缺点:解析效率较慢,且只能进行查阅的操作 原文地址:https://www.cnblogs.com/javaisbest/p/11588010.ht

【Android】XML文件的解析

1.首先我们可以在res包路径下创建一个raw包,然后在raw下创建一个email.xml 文件,并修改其内容如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <email> 3 <from>[email protected]</from> 4 <to>[email protected]</to> 5 <date>2016/4/5</

XML文件的解析和序列化

序列化: private void createXml() { XmlSerializer serializer = Xml.newSerializer();// xml文件生成器 File file = new File(Environment.getExternalStorageDirectory(), "person.xml"); FileOutputStream fos = null; try { fos = new FileOutputStream(file); serial

xml文件的解析过程详解

student.xml 文件展示: <?xml version="1.0" encoding="utf-8" ?> <person> <student id='1'> <name>余超</name> <sex>男</sex> <desc>一个执着而又天真的孩子</desc> </student> <student id='2'> <

xml文件以及解析

1.创建一个xml文件 <?xml version="1.0" encoding="UTF-8"?> <!-- xml:是一个可扩展的标记语言 01.很像超文本标记语言(html) 02.xml文件着重保存或者传输数据,不专注显示 03.无需预编译 04.符合w3c标准 < : < > : > " : " ' : &apos; & : & <![CDATA[代码]]>