Android创建与解析XML(二)——详解Dom方式

下面是具体的“Android创建与解析XML(二)——详解Dom方式”攻略。

1. 什么是Dom

Dom,全称为 Document Object Model,是一种基于树形结构的API,用于表示和操作xml文档。

2. Dom的使用

(1)导入相应的类库

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

(2)创建DocumentBuilderFactory对象和DocumentBuilder对象

try {
    DocumentBuilderFactory builderFactory = 
         DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = builderFactory.newDocumentBuilder();
} catch (Exception e) {
    e.printStackTrace();
}

(3)使用DocumentBuilder对象解析xml文档,返回Document对象

try {
    File file = new File("book.xml");
    Document document = builder.parse(file);
} catch (Exception e) {
    e.printStackTrace();
}

(4)获取xml文档中的Element

Element rootElement = document.getDocumentElement();

(5)获取xml文档中的NodeList

NodeList nodeList = rootElement.getElementsByTagName("book");

(6)遍历NodeList,获取每个Node,进行操作

for (int i = 0; i < nodeList.getLength(); i++) {
    Node node = nodeList.item(i);
    if (node.getNodeType() == Node.ELEMENT_NODE) {
        Element element = (Element) node;
        String id = element.getAttribute("id");
        String name = element.getElementsByTagName("name")
                             .item(0).getTextContent();
        String author = element.getElementsByTagName("author")
                               .item(0).getTextContent();
        String price = element.getElementsByTagName("price")
                              .item(0).getTextContent();
        System.out.println(id + "\t" + name + "\t" + author + "\t" + price);
    }
}

3. 示例说明

(1)创建xml文档

<?xml version="1.0" encoding="utf-8"?>
<books>
    <book id="001">
        <name>Java程序设计</name>
        <author>张三</author>
        <price>69.9</price>
    </book>
    <book id="002">
        <name>IOS开发入门</name>
        <author>李四</author>
        <price>89.5</price>
    </book>
</books>

(2)解析xml文档

try {
    DocumentBuilderFactory builderFactory = 
         DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = builderFactory.newDocumentBuilder();
    File file = new File("book.xml");
    Document document = builder.parse(file);
    Element rootElement = document.getDocumentElement();
    NodeList nodeList = rootElement.getElementsByTagName("book");
    for (int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE) {
            Element element = (Element) node;
            String id = element.getAttribute("id");
            String name = element.getElementsByTagName("name")
                                 .item(0).getTextContent();
            String author = element.getElementsByTagName("author")
                                   .item(0).getTextContent();
            String price = element.getElementsByTagName("price")
                                  .item(0).getTextContent();
            System.out.println(id + "\t" + name + "\t" + author + "\t" + price);
        }
    }
} catch (Exception e) {
    e.printStackTrace();
}

输出结果:

001 JAVA程序设计    张三  69.9
002 IOS开发入门 李四  89.5

以上就是“Android创建与解析XML(二)——详解Dom方式”的完整攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android创建与解析XML(二)——详解Dom方式 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • 怎么消除EV录屏噪音 EV录屏噪音大的去除方法

    以下是消除EV录屏噪音的攻略: EV录屏噪音大的去除方法 EV录屏是一款常用的屏幕录制软件,但是在录制过程中可能会出现噪音,影响录制效果。以下是消除EV录屏噪音的攻略: 调整麦克风设置:首先,打开EV录屏软件,进入“设置”页面。在“设置”页面中,找到“音频”选项,然后调整麦克风设置。您可以尝试调整麦克风的音量、增益等参数,以减少噪音。 使用降噪软件:如果调整…

    html 2023年5月17日
    00
  • flash怎么制作上标和下标?

    以下是“flash怎么制作上标和下标?”的完整攻略: Flash怎么制作上标和下标? 在Flash中,制作上标和下标可以通过使用文本工具和特殊字符来实现。以下是制作上标和下标的步骤: 步骤1:打开Flash软件 首先,打开Flash软件,创建一个新的文档。 步骤2:添加文本 在Flash文档中,使用文本工具添加需要制作上标或下标的文本。 步骤3:制作上标 要…

    html 2023年5月18日
    00
  • web.xml中servlet, bean, filter, listenr 加载顺序_动力节点Java学院整理

    在Java Web开发中,web.xml是整个Web应用的配置文件,可以在其中配置servlet、filter、listener等组件,以及初始化参数、上下文参数等。这些组件的加载顺序是有规定的,下面进行一一介绍。 Servlet的加载顺序 Servlet是Web应用程序的核心,其加载顺序如下: 1.容器加载web.xml中标签中配置的Servlet类。2.…

    html 2023年5月30日
    00
  • Java解析XML文件开源库DOM4J

    下面是Java解析XML文件开源库DOM4J的完整攻略,包含如何使用DOM4J进行XML文件解析和操作的过程与示例说明。 DOM4J简介 DOM4J是一个Java解析XML文件的开源库,提供了统一的方式生成、操作和解析XML。DOM4J基于Java标准的XML DOM(Document Object Model)结构,但相比于Java原生API,DOM4J的…

    html 2023年5月30日
    00
  • PowerShell常用正则表达式和语法参考

    PowerShell常用正则表达式和语法参考 前言 在 PowerShell 中,正则表达式是非常常用的一种工具。正则表达式(Regular Expression),也称为“正规表示法”,常因简称为“regex”、“regexp”或“RE”,旨在用来描述特定模式的字符串。一个正则表达式可以匹配符合特定模式的字符串。通过掌握正则表达式,我们可以在 PowerS…

    html 2023年5月31日
    00
  • 正值表达式匹配html标签的属性值

    正则表达式是一种强大的匹配字符串的工具,可以用来匹配包括HTML标签属性值在内的多种文本格式。通过正则表达式的学习,我们可以更方便地完成HTML编程和文本处理任务。下面介绍一下如何使用正则表达式匹配HTML标签的属性值。 编写正则表达式 HTML标签的属性值是由引号包裹的文本字符串,因此需要使用正则表达式匹配引号包裹的字符串。我们可以编写一个正则表达式,通过…

    html 2023年5月30日
    00
  • OpenXml合并Table单元格代码实例

    当我们需要对Word文档进行排版时,Table表格是一个非常重要的排版工具。有时候我们需要合并Table表格中的单元格,以满足各种排版要求。OpenXml提供了一些API,可以方便地合并Table表格中的单元格,本篇文章将详细讲解如何实现OpenXml合并Table单元格。 1.准备工作 在开始使用OpenXml进行Table单元格合并之前,需要了解Open…

    html 2023年5月30日
    00
  • win10通用应用图标、文件名异常显示乱码该怎么办?

    当win10通用应用图标或文件名出现乱码时,常见的解决方法有以下两个: 1.更改字符编码 在win10中,通用应用和系统文件名的编码默认是UTF-8。如果出现乱码,我们可以尝试将编码改为ANSI或UTF-16。 打开文件资源管理器,找到出现乱码的文件或应用所在的位置。 右键点击文件或应用,选择“属性”。 在“常规”标签页中,点击“高级”按钮。 在“高级属性”…

    html 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部