为了账号安全,请及时绑定邮箱和手机立即绑定

xml解析

标签:
JavaScript

dom4j解析器

  • 1)CRUD的含义:CreateReadUpdateDelete增删查改

  • 2)XML解析器有二类,分别是DOM和SAX。

  • a)DOM一次性将整个XML文件读到内存,形成一个倒状的树形结构

  • b)SAX多次将整个XML文件读到内存

  • c)Document对象代表XML文件在内存中的映像

  • 3)常用的API如下:
    SAXReader saxReader = new SAXReader(); SAXReader是dom4j的核心类
    Document document = saxReader.read("*.xml")
    Document.getRootElement()
    Element.getName()
    Element.elements():取得该元素下的所有直接子元素
    Element.elementText():从一个元素导航到另一个元素且取出该元素的文本
    Element.element("车牌")   :从一个元素导航到另一个元素
    Element.attributeValue("出产时间"):取得一个元素对应的属性
    Element.addElement("单价").setText("40"):添加新元素,同时设置该元素文本的值
    OutputFormat format = OutputFormat.createPrettyPrint():使用缩格形式写XML文件
    XMLWriter xmlWriter = new XMLWriter(os,format):构造XML写入器
    xmlWriter.write(document):将内存中的document对象写入硬盘
    firstCarElement.remove(firstCarPriceElement):从直接父元素删除直接子元素
    //firstCarPriceElement.getParent().remove(firstCarPriceElement):从直接父元素删除直接子元素

    car.xml
    `<?xml version="1.0" encoding="UTF-8"?>
    <车辆清单>
    <汽车>
    <车牌 出产时间="2010年">奥迪</车牌>  
    <产地>北京</产地>  
    <单价>30</单价>
    </汽车>  
    <汽车>
    <车牌 出产时间="2011年">本田</车牌>  
    <产地>广州</产地>  
    <单价>60</单价>
    </汽车>
    </车辆清单>

`
读取:

package day2.domx;import java.io.File;import java.util.List;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;//使用dom4j解析xml文件public class Dome1 {    public static void main(String[] args) throws Exception {        //创建dom4j解析器        SAXReader saxReader = new SAXReader();        //加载需要解析的xml文件        Document document = saxReader.read(new File("src/day2/domx/car.xml"));      //取得根元素        Element rootElement = document.getRootElement();              //显示根元素的名称        System.out.println(rootElement.getName());        //取得根元素下的子元素        List<Element> elementList = rootElement.elements();        System.out.println("共有" + elementList.size()+"辆车");        for(Element e:elementList)        {            System.out.println("车牌:" + e.elementText("车牌"));            System.out.println("产地:" + e.elementText("产地"));            System.out.println("出产时间:" + e.element("车牌").attributeValue("出产时间"));            System.out.println("------------------------------");        }    }}

结果:
车辆清单
共有2辆车
车牌:奥迪
产地:北京
出产时间:2010年

车牌:本田
产地:广州
出产时间:2011年

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消