java 解析 Xml ( VTDGen、AutoPilot )的应用
来源:互联网 发布:手机充电加速软件 编辑:程序博客网 时间:2024/06/04 17:49
java 解析 Xml ( VTDGen、AutoPilot )的应用 java 解析 Xml ( VTDGen、AutoPilot )的使用
今天主要用到了对xml的解析,现在做个记录,首先我贴一段我参考的别人的代码。里面的注释描述的很清楚。
package com.ytxsoft.xml;import com.ximpleware.AutoPilot;import com.ximpleware.VTDGen;import com.ximpleware.VTDNav;public class UserVTDXML { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try{ VTDGen gen =new VTDGen(); //解析student.xml对象,不含有命名空间 gen.parseFile("f:\\student.xml", false); VTDNav nav =gen.getNav(); AutoPilot pilot =new AutoPilot(); //将导航器绑定到pilot对像上 //如果把VTDNav表达为车辆上导航仪器的话,那么AutoPilot就代表开车人,他能更智能化的找到XPATH表达的含义 pilot.bind(nav); //设置重新设置一个xpath表达式的字符串,但是通常是在之后调用 pilot.selectXPath("/students/student"); //evalXPath()返回nodeset集合中的下一个节点,如果检测到为匹配的节点,则返回为-1 System.out.println(pilot.evalXPath()); System.out.println(pilot.evalXPathToBoolean()); System.out.println(pilot.evalXPathToNumber()); System.out.println(pilot.evalXPathToString()); System.out.println(pilot.getExprString()); //最终操作XML的,还得让VTDNav来做,可见pilot也只是起了一个导航的作用 if(pilot.evalXPath()!=-1){ System.out.println(nav.toString(nav.getAttrVal("name"))); } }catch(Exception ex){ ex.printStackTrace(); } }}
看过这段代码后相信已经有一些了解了,但仍可能和我一样还存在疑惑,下面是我修改后的一段代码,主要作用是:把下面这种xml文件解析:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><body> <id>0001</id> <name>zhangsan</name> <records> <record> <school>frist</school> </record> <record> <school>second</school> </record> </records></body>
取出<record>下的<school>中的信息,则可以通过下面的代码实现:
package com.xml;import java.util.ArrayList;import java.util.List;import com.ximpleware.AutoPilot;import com.ximpleware.VTDGen;import com.ximpleware.VTDNav;public class TestXml { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { VTDGen gen = new VTDGen(); // 解析student.xml对象,不含有命名空间 gen.parseFile("e:\\student.xml", false); VTDNav nav = gen.getNav(); AutoPilot ap = new AutoPilot(); AutoPilot ape = new AutoPilot(); // 将导航器绑定到ap对像上 // 如果把VTDNav表达为车辆上导航仪器的话,那么Autoap就代表开车人,他能更智能化的找到XPATH表达的含义 ap.bind(nav); ape.bind(nav); // 设置重新设置一个xpath表达式的字符串,但是通常是在之后调用 ape.selectXPath("/body/records/record"); List<String> records = new ArrayList<String>(); String school= "" ; // evalXPath()返回nodeset集合中的下一个节点,如果检测到为匹配的节点,则返回为-1 while(ape.evalXPath() != -1){ ap.selectXPath("school"); school= ap.evalXPathToString(); records.add(school); } ape.resetXPath(); for(String s : records){ System.out.println("===" + s); } } catch (Exception ex) { ex.printStackTrace(); } }}
基本的就这样,介绍到这里了。
0 0
- java 解析 Xml ( VTDGen、AutoPilot )的应用
- java中xml解析器的应用实例
- XML的java解析- -
- JAVA的XML解析
- Java 应用DOM方式解析XML文件
- Java应用SAX方式解析XML
- Dom4j解析XML简单应用,XStream实现Java、XML转换
- Java解析XML的原理图
- java中xml的解析
- java 解析xml的方式
- Java解析XML的方式
- JAVA解析XML的方式?
- Java--xml文件的解析
- Java解析XML的笔记
- java解析xml的方法
- Java解析XML的原理
- Java对XML的解析
- Java解析XML的用法
- sublime 自定义快捷键 功能增强
- 如何升级cocos2d-x来支持ipv6以及socket怎么支持ipv6
- ios中利用BSDSocket进行网络通信(客户端篇)
- python实现爬虫抓取段子
- 解析Monte-Carlo算法(基本原理,理论基础,应用实践)
- java 解析 Xml ( VTDGen、AutoPilot )的应用
- 用代码和位编译的XAML文件,创建WPF程序
- JPA 各种基本用法
- SVN回滚版本
- js笔记
- 图层
- JAVA中的变量,自动类型转换
- Android中软引用与弱引用的应用
- 基于Apache+SVN+Tortoise的版本管理系统的建立