加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML的解析

发布时间:2020-12-16 08:17:53 所属栏目:百科 来源:网络整理
导读:XML的解析 :从XML文档中获得需要的数据,并可以对数据进行增删改操作. XML解析方式: DOM 解析: Document Object Model SAX 解析: Simple Api for XML DOM 解析和 SAX 解析的区别: DOM :一次性将文档加载到内存,形成树结构进行解析. 缺点:如果文档特别大,容易

XML的解析:从XML文档中获得需要的数据,并可以对数据进行增删改操作.

XML解析方式:

  • DOM解析:Document Object Model
  • SAX解析:Simple Api for XML

DOM解析和SAX解析的区别:

DOM:一次性将文档加载到内存,形成树结构进行解析.
缺点:如果文档特别大,容易造成内存溢出.
优点:对XML进行增删改的操作.

SAX: 采用事件驱动的方式,一行一行进行解析
缺点: 不能对文档进行增删改的操作.
优点:因为每次内存中只存在一行xml文件,不会造成内存的溢出.

SAX解析操作步骤:

  • 首先得到一个SAXParseFactory解析器工厂
  • 通过解析器工厂得到一个解析器对象SAXParse
  • 通过解析器对象得到一个xml的读取器
  • 通过事件驱动的方式开始读取xml文档,当整个xml文件加载后会产生startElement事件,当某个元素被加载解析就产生characters事件.当某一个元素结束时,就产生endElement事件.当整个xml文件加载完成后,就产生了endDocument事件.

针对以上两种不同的解析方式,不同的公司提供了不同的API实现.

  • DOM4J:开源组织提供了一套XML的解析API,主要用于服务器端的XML解析.
  • PULL : 主要应用在手机端的XML解析

DOM4J的入门案例步骤:

  • 步骤一:导入jardom4j-1.6.1.jar
  • 步骤二:创建解析器

    SaxReader reader = new SaxReader()
  • 步骤三:解析文档获得代表文档的Document对象.

    Document document = reader.read("src/config.xml")
  • 步骤四:获得跟节点

    Element root = document.getRootElement();
  • 步骤五:从根节点下查找其他的节点

    elements() 获取所有子元素,返回是List集合
    elements(String name) 获取所有指定名称子元素,返回的是List集合.
    Element.attribute(String name)
    得到一个Attribute对象,通过Attribute,调用getValues()方法得到属性值
    也可以简化成Element.attributeValue(String name);来得到属性值

DOM4JXPATH配合使用解析XML:

XPATH是XPath是一门在XML文档中查找信息的语言。XPath可用来在XML文档中对元素
和属性进行遍历。
dom4j支持XPath的jar包.
     jaxen-1.1-beta-6.jar
dom4j的XPath支持的API:
    List document.selectNodes(String xPath);
    Node document.selectSingleNode(String xPath);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读