1、实现将文件读取。
2、然后使用xpath进行解析。
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Node;
import org.dom4j.XPath;
public class ParseXML {
/**
* 根据xpath表达式解析 xml
* @param document
* @param xpathExp
* @return
*/
public static String xpath(String xml, String xpathExp) {
Document document=null;
System.out.println(xml);
try {
document = DocumentHelper.parseText(xml);
} catch (DocumentException e) {
e.printStackTrace();
}
XPath xpath = document.createXPath(xpathExp);
Node node = xpath.selectSingleNode(document);
if (node != null) {
//取值
String val = node.getStringValue();
// System.out.println(node.asXML());
return node.asXML();
}
return null;
}
/**
* 读取文件
* @param fileName
* @return
*/
public static String readFile(String fileName) {
StringBuilder sb = new StringBuilder();
InputStream f=null;
BufferedReader br=null;
try {
f = new FileInputStream(fileName);
br = new BufferedReader(new InputStreamReader(f));
String line="";
while ((line = br.readLine()) != null) {
sb.append(line);
}
if(sb.length()>0) {
return sb.toString();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if(br!=null)
br.close();
if(br!=null)
f.close();
} catch(Exception e) {
e.printStackTrace();
}
}
return null;
}
public static void main(String[] args) {
//将
String str = readFile("signpay.xml");
//获取signpay.xml中head的值
System.out.println(xpath(str,"/*/head"));
}
}
分享到:
相关推荐
几种解析XML方法的简单的例子 XML 解析XML
使用Android自带的XML解析器PULL解析器简单的解析xml,并将内容显示在TestView上,代码简化过。
TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译,使用TinyXML进行C++ XML解析,使用简单,容易上手。 这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便...
网上找的解析xml文件的demo,自己拷贝了过来然后试了试,最后我觉得字数应该是够了。
php快速解析xml已经试过,很好用。内赋了简单的使用方法,可以仿照例子进行解析。
开发环境为VC,基于对话框,用msxml组件解析XML文档,运用递归循环的方法实现树结构,支持中文,可以运行的一个实例。
oracle 解析 xml 简单直接 xmldom
本示例代码简单示范了SQLServer如何解析xml文档
Sax解析xml文件详细例子,解析复杂节点的xml,把内容显示到view中,例子简单完整,易用
使用full方式解析xml,简单高效,是android中最常用的解析xml方式
这是我做的简单的一个在jsp中用jdom解析xml的程序。只是显示,添加等简单的功能,来学习学习jdom解析xml的程序。如果你想学习那这一定是个很好的例子
C++ 使用TinyXML解析XML文件,简单清晰,仅供参考。读取和设置xml配置文件是最常用的操作,TinyXML是一个开源的解析XML的C++解析库
一个关于用jdom解析xml,遍历xml,建立xml的简单例子.
xml 文件解析,可以在vc中直接使用的简易xml解析工具,方便简单快截
我写的用VC解析xml文件,通过MSXML,比较简单,不过是个好例子,很小,例子是CHINAmap2008中的城市,飞机,机场xml文件,希望能有小用。
XML解析有三种方式 1,DOM 通用性强,它会将XML文件的所有内容读取到内存中,然后使用DOM API遍历XML树、检索所需的数据; 优点:简单直观,但需要将文档读取到内存, 缺点:并不太适合移动设备; 2,SAX SAX是一...
QT5.9.1 + MSVC2015 一个简单解析XML文件的例子,很简单;
用Qt的QDomDocument解析XML,获取一个个节点出来,比较简单。 用Qt的QDomDocument解析XML,获取一个个节点出来,比较简单。 用Qt的QDomDocument解析XML,获取一个个节点出来,比较简单。
简易XML解析器. 只需要包含xCfgParser.h。其它文件为附加支持文件,你可以很简单的就去掉他们。压缩包里还包含一个字符串转换类。可以用来UTF-8/Unicode/Ansi之间进行转换
android为我们提供了多种解析方式,DOM解析,代码操作简单,一直为解析xml文件的一个不错的选择