美文网首页JavaWeb
Java读取XML文件

Java读取XML文件

作者: shallwego_ | 来源:发表于2017-03-01 14:34 被阅读19次

    Java读取Xml文件 【视频】

    有四种方法:DOM、SAX、DOM4J、JDOM

    DOM读取:

    1、准备阶段:

    DocumentBuilderFactory>>>DocumentBulder>>>Document>加载xml文件

    准备工作

    2、获取并遍历节点

    (1)通过document对象的getElementByTagName()方法获取节点集合NodeList【即几本书的集合】;

    循环遍历,通过NodeList的item(index)方法获取每个节点Node【每本书】;

    通过Node的getAttributes()方法获取节点的属性集合NamedNodeMap【书的属性集合:id】

    循环遍历,通过NamedNodeMapd的item(index)方法获取每个属性节点Node【id】

    通过Node的getNodeName()和getNodeValue()方法获取属性值【例如:id--1】

    获取并遍历book节点集合
    获取并遍历book属性集合

    2(2)在已知book节点只有一个id属性时,可用以下方法。

    Element类

    3、获取并遍历子节点

    通过Node的getChildNodes()方法获取到子节点集合NodeList【书名/作者/日期等】

    循环遍历,NodeList的item(index)方法可分别获取到每一个Node,然后通过getNodeName(),getNodeValue()方法可获取到该子节点的节点名和节点值。

    获取并遍历book节点的子节点

    此处注意:

    常用的节点类型有Element、Attr、Text三种类型。

    当使用getLength()方法时,解析器会把Xml文件中的空格以及换行符当做一个Text节点记入length。

    如果直接使用getNodeValue()方法,若节点为Element类型(例如:<author>金庸</author>),则返回值为null。因此先通过getFirstChild()方法获取到Text节点(金庸),才能通过getNodeValue()方法获取节点值。

    常用节点类型

    通过getTextContent()方法可以获取到节点中的Text文字。

    【当节点中既有Element节点又有Text节点时:(例如:<author><a>aa</a>金庸</author>)

    getTextContent():获取到所有文本信息.(aa金庸)

    getFirstChild().getNodeValue:获取到第一个子节点的文本信息.(aa)】


    两种方法的区别

    相关文章

      网友评论

        本文标题:Java读取XML文件

        本文链接:https://www.haomeiwen.com/subject/anjqgttx.html