使用DOM对XML文件进行解析操作
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Xmltest {
public static void main(String[] args) throws Exception {
// 从 XML 文档获取 DOM 文档实例。使用此类,应用程序员可以从 XML 获取一个Document
// 创建解析工厂指定DocumentBuilder
DocumentBuilder db = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
Document document = db.parse(new File("F:\\111.xml"));// 把文件解析成DOCUMENT类型
// Element root = document.getDocumentElement();
// //得到Document的根(节点名:book)
// System.out.println("根节点标记名:" + root.getTagName());
System.out.println("*****下面遍历XML元素*****");
Element root = document.getDocumentElement();
String rootName = root.getNodeName();
System.out.println("XML文件根节点的名字:" + rootName);
NodeList list = root.getElementsByTagName("dbstore");// 获得page元素
// NodeList
// list=document.getElementsByTagName_r("dbstore");//获得page元素这个和上面一行效果一样
// System.out.println(list.getLength());
showElem(list);
}
public static void showElem(NodeList nl) {
for (int i = 0; i < nl.getLength(); i++) {
Node n = nl.item(i);// 得到父节点
if (n.hasChildNodes()) {
NamedNodeMap attributes = n.getAttributes(); // 遍历节点所有属性如<dbstore
// single="false"
// att="tta">
// System.out.println(attributes.getLength());
for (int j = 0; j < attributes.getLength(); j++) {
Node attribute = attributes.item(j);
// 得到属性名
String attributeName = attribute.getNodeName();
System.out.println("属性名:" + attributeName);
// 得到属性值
String attributeValue = attribute.getNodeValue();
System.out.println("属性值:" + attributeValue);
}// 打印出结果属性名:att属性值:tta属性名:single属性值:false
}
// 子节点
NodeList childList = n.getChildNodes();
for (int x = 0; x < childList.getLength(); x++) {
Node childNode = childList.item(x);
// 判断取出的值是否属于Element元素,目的是过滤掉
if (childNode instanceof Element) {
// 得到子节点的名字
String childNodeName = childNode.getNodeName();
System.out.println("子节点名:" + childNodeName);
// 得到子节点的值
String childNodeValue = childNode.getTextContent();
System.out.println("子节点值:" + childNodeValue);
}
}
showElem(n.getChildNodes());// 递归
}
}
}
分享到:
相关推荐
在本文中,我们将深入探讨XML解析的相关知识,包括XML的基本结构、解析方式以及在开发中的应用。 XML文档的基本结构由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成。元素是XML文档的核心,...
易语言XML解析是编程领域中的一个重要主题,尤其对于使用易语言进行开发的程序员来说,理解并掌握XML(可扩展标记语言)的解析方法是至关重要的。XML作为一种结构化数据存储和交换格式,广泛应用于网络通信、配置...
java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...
3. `xmlParser.html`:这可能是关于XML解析库的文档或教程,详细解释了如何使用这个库,包括示例代码、API参考、错误处理等信息。 在实际应用中,选择合适的XML解析库需要考虑以下几个因素: - 性能:如果处理的XML...
本资源"XML解析代码实现.rar"提供了一些关于XML解析的实践代码,有助于开发者深入理解这一技术。 XML文档结构由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成。元素是XML文档的核心,它们...
本压缩包“XML解析完整开发类.zip”包含了关于XML解析、WebService以及与第三方API交互的相关内容,下面将对这些知识点进行详细解释。 1. XML解析: XML解析是将XML文档转换为程序可以理解的数据结构的过程。解析...
### XML解析技术详解 #### 一、XML与解析方法概述 XML (Extensible Markup Language) 是一种用于标记数据的语言,其设计目的是传输和存储数据。它具有良好的结构化特性,可以方便地描述复杂的数据结构。在Web服务...
以下是一些关于XML解析的重要知识点: 1. **DOM解析器**: DOM(文档对象模型)解析器将整个XML文档加载到内存中,形成一个树形结构,方便通过节点遍历获取信息。例如,使用Java的`javax.xml.parsers....
这个文件可能是对Java APK项目中源码的说明文档,可能包含了关于XML解析在Android应用中的使用,或者是其他Java应用中处理XML的方式。可能详细解释了如何整合上述工具和类,以及它们在实际项目中的应用场景。 6. *...
在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)这个强大的图形化编程环境中,XML解析器是处理和操作XML数据的关键工具。本示例主要展示了如何在LabVIEW中实现XML文件的加载、保存和解析。 首先...
根据给定文件中的标题、描述、标签以及部分内容,可以总结并深入探讨以下关于C#中XML解析的关键知识点: ### C#中的XML解析方式 #### 1. XML Text Reader(流式解析) - **简介**:在.NET框架中,`XMLTextReader`...
在标题"XML.rar_XML解析_txt to xml_visual c_xml瑙f瀽"中,我们可以推测这是一个关于XML解析的项目,可能包含了一个用C++(Visual C++)编写的程序,该程序能够将文本文件(txt)转换为XML格式。"txt_to_xml"暗示...
本压缩包“xml解析源码.zip”包含的可能是关于XML解析器的源代码,这对于理解XML解析机制以及自定义解析库非常有价值。 XML解析分为两种主要类型:DOM(Document Object Model)解析和SAX(Simple API for XML)...
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...
在本文中,我们将深入探讨XML解析,以及如何在Java中处理XML文档。 XML解析是将XML文档转换为编程语言可以理解和操作的数据结构的过程。解析XML主要有两种方法:DOM(Document Object Model)和SAX(Simple API for...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在...在Test04这个文件中,可能包含了一些关于XML解析资源管理的具体示例或测试用例,通过深入学习和实践,我们可以进一步理解和掌握这一主题。
本文将详细介绍XML解析文件的两种主要方式:SAX(Simple API for XML)和DOM(Document Object Model)。 **1. DOM解析** DOM解析方式是将整个XML文档加载到内存中,构建一个树形结构,称为DOM树。这个树的每个...
本文将深入探讨XML解析和生成工具的相关知识,以及如何利用提供的`Markup.cpp`和`Markup.h`文件进行操作。 XML的结构: XML文档由一系列元素构成,每个元素都有一个开始标签和结束标签,如 `<tag>` 和 `</tag>`。...
以下是关于XML解析及其相关知识点的详细说明: 1. **XML的基本结构**: XML文档由一系列元素组成,每个元素都包含标签(tag)、属性(attribute)和内容(content)。元素可以嵌套,形成层次结构。例如: ```xml ...
以下是关于XML解析和组装的一些关键知识点: 1. **DTD(Document Type Definition)与XML Schema**: DTD和XML Schema用于定义XML文档的结构和数据类型,确保XML文件符合规范。DTD是XML早期的验证工具,而XML Schema...