`
namezhou
  • 浏览: 158651 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Dom解析XML

阅读更多

Dom是一种跨语言的,操作标签语言的标准

Dom解析xml的方式为:根据整个文档生成一个Dom的树形结构

优点:使用灵活,在各种语言中差别不大,
缺点:使用复杂,在解析大型文档的时候,效率不高

步骤:
1.获取DocumentBuilder的工厂
2.获取DocumentBuilder
3.创建文档对象
4.解析各节点和节点的子节点

使用的类(已经包含在Java标准类库中)

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

 

具体实现:

//1.创建一个文档工厂对象
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

//2.从工厂中得到文档创建器
DocumentBuilder db = dbf.newDocumentBuilder();

//3.从文档创建器中获得一个文档对象
Document document = db.parse("src/xml/employee.xml");

//4.获取文档中的所有节点的列表
NodeList doc = document.getChildNodes();

  //5.循环遍历子节点
Node employees = doc.item(0); //employees
NodeList employeelist = employees.getChildNodes();
System.out.println("==========" + employeelist.getLength());
for (int i = 0; i < employeelist.getLength(); i++) {
 Node current = employeelist.item(i);
 //过滤无效节点
 if("#text".equals(current.getNodeName())){continue;}
 NodeList employeeinfo = current.getChildNodes();
    
 for (int j = 0; j < employeeinfo.getLength(); j++) {
 Node info = employeeinfo.item(j);
 //过滤无效节点
 if("#text".equals(info.getNodeName())){continue;}
 System.out.print(info.getNodeName() + ": " + info.getChildNodes().item(0).getNodeValue());
 //取值
 System.out.print(" ");
}
System.out.println();
}

 一些又有的知识点

Node节点的类型
Text类型 -- 文本类型,标签对之间的文本属于text类型
Comment类型 -- 注释类型
Element类型 -- 标签对,又一个Node
DOcumentTypeDefine-- 对应DTD

Dom中使用short类型的常量来表示这些类型

public static final short ATTRIBUTE_NODE 2 
 public static final short COMMENT_NODE 8 
 public static final short DOCUMENT_FRAGMENT_NODE 11 
 public static final short DOCUMENT_NODE 9 
 public static final short DOCUMENT_TYPE_NODE 10 
 public static final short ELEMENT_NODE 1 
 public static final short ENTITY_NODE 6 
 public static final short ENTITY_REFERENCE_NODE 5 
 public static final short NOTATION_NODE 12 
 public static final short PROCESSING_INSTRUCTION_NODE 7 
 public static final short TEXT_NODE 3 

 

获取节点类型的方法 node.getNodeType();

0
0
分享到:
评论

相关推荐

    java平台中使用DOM解析xml文件

    使用DOM解析XML的基本步骤如下: 1. **导入必要的库**:在Java中,DOM解析功能主要由`javax.xml.parsers`和`org.w3c.dom`包提供。因此,首先需要在代码中导入这些库: ```java import javax.xml.parsers....

    android上使用DOM解析XML

    下面将详细介绍在Android中使用DOM解析XML的基本步骤和关键知识点。 1. **导入XML解析库** 在Android项目中,我们不需要额外导入库,因为DOM解析器是Java标准库的一部分,已经包含在Android SDK中。这意味着你可以...

    java使用dom解析xml

    Java 使用 DOM 解析 XML 是一种常见的处理 XML 文档的方式,DOM 即 Document Object Model,它是一种 W3C 标准的 API,用于处理 XML 和 HTML 文档。在 Java 中,DOM 解析允许开发者将整个 XML 文件加载到内存中,...

    使用DOM解析XML.docx

    \n\n使用DOM解析XML的优势在于,它可以保证文档的语法和格式正确,并简化文档操作。DOM解析器可以读取和遍历整个文档,动态创建新的文档,以及修改和删除现有文档的内容。由于DOM提供了一致的接口,开发者可以编写与...

    java dom 解析 xml 实例

    Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,使用 W3C 推荐的文档对象模型(Document Object Model,DOM)来解析 XML 文档。DOM 提供了一个树形结构的对象模型,通过遍历树形结构可以访问和操作 ...

    Android Dom解析XML

    总结来说,Android中使用DOM解析XML是一种常见且直观的方式,适合处理小规模的数据。结合ButterKnife库,可以方便地将解析结果与UI组件进行绑定,提高代码的可读性和维护性。但请注意,对于大文件,考虑使用SAX或者...

    XML应用开发(软件品牌)-1期 第6单元 单元设计-使用DOM解析XML.doc

    《XML应用开发》课程主要关注的是使用DOM解析XML文档,这一单元主要分为两个部分:数据描述与操作(2课时)和访问DOM树节点(2课时),总共4个课时的教学内容,旨在帮助学生理解和掌握DOM解析XML的核心概念和技术。...

    DOM解析XML文件例子

    在这个例子中,我们将深入探讨如何使用DOM解析XML文件,以理解和掌握XML文档的结构,并进行数据提取、修改和创建。 首先,XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,具有自描述性和...

    使用DOM解析XML文档

    文档对象模型 节点和节点树 使用DOM加载XML文档 使用DOM访问、创建和修改节点

    XML应用开发(软件品牌)-1期 第6单元 单元测试卷答案-使用DOM解析XML文档.doc

    在单元六的学习中,主要关注了使用DOM解析XML文档的相关知识点: 1. **DOM解析**:DOM解析器将XML文档转化为内存中的对象模型,这个模型可以被JavaScript或其他编程语言访问。DOM解析器的主要任务是将XML文档结构...

    用dom解析xml文件

    使用DOM解析XML文件的步骤如下: 1. 加载XML文件:首先,你需要创建一个`DocumentBuilderFactory`对象,然后通过`newDocumentBuilder()`方法得到一个`DocumentBuilder`实例。接着,调用`parse()`方法,传入XML文件...

    经典的DOM解析XML范例

    在提供的代码示例中,展示了如何使用DOM解析XML文件`library.xml`。首先,通过`DocumentBuilderFactory`创建解析器,然后解析文件,得到`Document`对象。接着,获取根元素`books`,并通过`getChildNodes()`遍历所有...

    解析XML所需的jar dom.jar

    在Java中,使用DOM解析XML的基本步骤包括: 1. 加载XML文档:使用`javax.xml.parsers.DocumentBuilderFactory`类创建一个实例,并调用其`newDocumentBuilder()`方法生成`DocumentBuilder`对象。 2. 解析XML:使用`...

    DOM解析XML文档

    3. 应用程序接口:许多应用程序(如Web服务、桌面应用)使用DOM解析XML作为数据输入和输出的手段。 总之,DOM解析XML文档是编程中常用的技术,它提供了一种强大且灵活的方式来处理XML数据。理解和掌握DOM解析,对于...

    dom解析XML,普通解析

    DOM解析XML是处理XML数据的一种常见方式,尤其在Java编程中广泛使用。下面我们将深入探讨DOM解析XML的相关知识点。 1. DOM解析原理: DOM解析器读取整个XML文件,将其转换为内存中的对象树,每个XML元素、属性、...

    java_dom解析xml xml java

    标题“java_dom解析xml xml java”表明了本文档的主题是关于如何使用Java中的DOM技术来解析XML文件。 #### 描述分析 描述中提到这是一个适合新手入门的内容,并给出了一个简单的XML示例。该XML文档包含了一个`...

    dom解析xml BS结构

    总结起来,"dom解析xml BS结构"主要涉及到在浏览器环境中,使用DOM解析XML数据,通过JavaScript操作XML节点,实现数据的动态展示和交互。这要求开发者熟悉DOM API、XMLHttpRequest或fetch API,以及可能的XML与JSON...

    Dom方式解析XML

    在Android Studio中,我们经常使用DOM解析XML资源文件,如布局文件。例如,读取XML配置文件以获取应用程序设置: - 创建XML配置文件(如`config.xml`)放在`res/raw`目录下。 - 使用上述DOM解析方法读取并处理...

Global site tag (gtag.js) - Google Analytics