Java修炼之路——读取XML文件

这次来跟记录下java下如何操作xml文件。其实用过python去爬虫的话,那么应该很容易上手。java中有一个库dom4j就跟python中的lxml类似。

这里要重点强调下,在使用dom4j库的时候,其实它还有一个依赖包,就是jaxen。不添加的可是会报错的。(dom4j和jaxen的下载链接都整理好了在底部)

这里主要就是讲讲怎么用dom4j来读取的xml文件(可以直接从网络上加载,或者本地)

//这个是官网上copy的,直接从加载文件

public class Foo {

    public Document parse(URL url) throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = reader.read(url);
        return document;
    }
}

//这个是加载本地的xml
public static Document parse(String path){
        SAXReader reader = new SAXReader();
        Document document = null;
        try {
            document = reader.read(“你的xml文件路径”);
        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return document;
}

现在得到的这个Document类,就是一个存储着根据xml解析好的文本了,你想怎么折腾就从这儿开始吧。

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>George</to>
<from>John</from>
<heading name="test">Reminder</heading>
<body>Don‘t forget the meeting!</body>
<body type="test2">Don‘t forget the meeting2!</body>
</note>

现在举个小例子。xml文件在上面给出了

public static void testDom4j(Document data){

//1: 读取to里面的data

  Element lElement1 = (Element) file.selectSingleNode("/note/to");

  String toValue = IElement1.getStringValue();  //dom4j中每个element就是对应的是一个node。

//2:读取heading中name的属性

  Element lElement2 = (Element) file.selectObject("/note/heading");

  String headingNameValue =  IElement2.attributeValue("name")

//3根据Node的属性选择,从body中选择type="test2"那个

  Element lElement3 = (Element) file.selectObject("/note/heading[@type=‘test2‘ ");

  String bodValue=  IElement3.getStringValue();}

这三种应该是比较常用的了,当然还有其他API没提到。不过都类似的啦。大家可以上官网看看

就写到这儿了。有什么要补充的下次再加吧。(主要太懒,撤~~)

om4j:

https://sourceforge.net/projects/dom4j/files/dom4j/1.6.1/

jaxen的下载地址:
http://maven.ibiblio.org/maven2/jaxen/jaxen/1.1.1/

时间: 2024-12-13 02:31:58

Java修炼之路——读取XML文件的相关文章

Java使用相对路径读取xml文件

java使用相对路径读取xml文件 博客分类: java javaXMLJavaWeb 一.xml文件一般的存放位置有三个: 1.放在WEB-INF下: 2.xml文件放在/WEB-INF/classes目录下或classpath的jar包中: 3.放在与解析它的java类同一个包中,不一定是classpath: 二.相对应的两种使用相对路径的读取方法: 方法一:(未验证) 将xml文件放在WEB-INF目录下,然后 程序代码: InputStream is=getServletContext(

Java获取路径方法&amp;相对路径读取xml文件方法

Java获取路径方法&相对路径读取xml文件方法 (1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用 (3).request.getSession().getServletContext().getRealPath("/");//获取工程的根路径

java读取XML文件的四种方式

java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE> <NO>A1234</NO> <ADDR>河南省郑州市</ADDR> </VALUE> <VALUE> <NO>B1234</NO> <ADDR>河南省郑州市二七区&

Java读取XML文件(1)

Java读取XML文件(1) ReadXml.java package Read; import java.io.IOException; import java.util.ArrayList; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import

分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)

原文:分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要) XML文件 <?xml version="1.0"?> <students> <student> <name>John</name> <grade>B</grade> <age>12</age> </student> <student> <name>Mar

Dom4j读取xml文件——JAVA

前几天,用Dom4j写了三个版本的读取XML文件,现在分享下. 第一版本: XML: <?xml version="1.0" encoding="UTF-8"?> <do-config> <do path="User/adduser" type="UserPackage.UserServlet"> <forward name="Success">AddSucc

java读取xml文件的三种方法

xml既简单又标准,值得拥有和学习,好多地方都用的到.假设有这么一个book.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Copyright w3school.com.cn --> <!-- W3School.com.cn bookstore example --> -<bookstore> -<book category="childre

java读取XML文件,及封装XML字符串

package com.yyl.text; import java.io.FileInputStream; import java.util.ArrayList; import org.junit.Test; import org.nuxeo.common.xmap.XMap; import com.yin.vo.Book; import com.yin.vo.Books; public class XmapTest { /** * 读取XML文件内容 * @throws Exception *

读取xml文件中的配置参数实例_java - JAVA

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 paras.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xm