package com;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class Parse{
//Document可以看作是XML在内存中的一个镜像,那么一旦获取这个Document 就意味着可以通过对
//内存的操作来实现对XML的操作,首先第一步获取XML相关的Document
private Document doc=null;
public void init(String xmlFile) throws Exception{
//很明显该类是一个单例,先获取产生DocumentBuilder工厂
//的工厂,在通过这个工厂产生一个DocumentBuilder,
//DocumentBuilder就是用来产生Document的
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
//这个Document就是一个XML文件在内存中的镜像
doc=db.parse(new File(xmlFile));
}
//该方法负责把XML文件的内容显示出来
public void viewXML(String xmlFile) throws Exception{
this.init(xmlFile);
//在xml文件里,只有一个根元素,先把根元素拿出来看看
Element element=doc.getDocumentElement();
System.out.println("根元素为:"+element.getTagName());
NodeList nodeList=doc.getElementsByTagName("book");
System.out.println("book节点链的长度:"+nodeList.getLength());
Node fatherNode=nodeList.item(0);
System.out.println("父节点为:"+fatherNode.getNodeName());
//把父节点的属性拿出来
NamedNodeMap attributes=fatherNode.getAttributes();
for(int i=0;i<attributes.getLength();i++){
Node attribute=attributes.item(i);
System.out.println("book的属性名为:"+attribute.getNodeName()+" 相对应的属性值为:"+attribute.getNodeValue());
}
NodeList childNodes = fatherNode.getChildNodes();
System.out.println(childNodes.getLength());
for(int j=0;j<childNodes.getLength();j++){
Node childNode=childNodes.item(j);
//如果这个节点属于Element ,再进行取值
if(childNode instanceof Element){
//System.out.println("子节点名为:"+childNode.getNodeName()+"相对应的值为"+childNode.getFirstChild().getNodeValue());
System.out.println("子节点名为:"+childNode.getNodeName()+"相对应的值为"+childNode.getFirstChild().getNodeValue());
}
}
}
public static void main(String[] args)throws Exception{
Parse parse=new Parse();
//我的XML文件
parse.viewXML("netct.xml");
}
}
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
</bookstore>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/k1113k/archive/2007/01/27/1495807.aspx
分享到:
相关推荐
5. 遍历和操作节点:通过DOM树的API,如`getElementsByTagName()`, `getChildNodes()`, `getTextContent()`等,遍历和操作XML文档中的各个节点。 例如,在DomProject这个示例项目中,可能包含以下代码片段: ```...
本文将深入探讨如何使用DOM读取XML文件,并结合提供的标签“源码”和“工具”,提供实用的代码示例和相关知识。 首先,理解DOM的基本概念。DOM将XML文档看作一个由节点组成的树形结构,其中根节点代表整个文档,而...
一旦XML文档加载成功,我们可以遍历和操作DOM树。例如,要获取根元素,可以这样做: ```cpp QDomElement root = doc.documentElement(); ``` 对于查找特定元素,`QDomDocument`提供`elementsByName`或`findFirst`...
**DOMProject(通过DOM读取XML)** 在IT领域,XML(eXtensible Markup Language)是一种被广泛用于存储和传输数据的标记语言。它的结构清晰,易于机器和人类阅读,使得XML成为Web服务和应用程序间交换数据的理想...
这个模型由节点构成,包括元素、属性、文本等,使得程序员可以通过JavaScript、Java、Python等语言对XML文档进行读取和写入操作。本文将深入探讨DOM解析XML的原理和实践,并通过源码分析来揭示其实现细节。 首先,...
学习XML语言很重要的一章节,其中的第八章节,掌握如何用DOM操作XML文档
标题"DOM操作XML,XPATH技术"指的是在编程中处理XML文档时,使用Document Object Model (DOM) 和XPath两种主要技术。DOM是一种标准,用于表示XML和HTML文档的树形结构,它允许程序和脚本动态更新、添加、删除和查找...
在本主题“vc DOM操作xml,从Tree到Xml,xml到Tree”中,我们将深入探讨如何利用VC++(Microsoft的C++编译器)来实现DOM操作XML,并将XML数据与树形控件进行交互。 首先,我们需要了解XML的基本概念。XML...
总结来说,通过DOM操作XML文档向表格添加数据是一项常见的Web开发任务,它涉及XML文档的读取、解析,以及HTML元素的动态创建和更新。这一过程对于构建交互式和数据驱动的Web应用程序至关重要。通过理解并熟练运用DOM...
在这个"java.dom操作xml完整的例子"中,我们可以预见到以下关键知识点: 1. **XML文档的解析**:首先,我们需要使用`DocumentBuilderFactory`创建一个`DocumentBuilder`实例,然后通过`parse()`方法加载XML文件。...
文档对象模型 节点和节点树 使用DOM加载XML文档 使用DOM访问、创建和修改节点
在本教程中,我们将深入探讨如何使用Java DOM来操作XML文件。 1. XML文档加载: 要开始操作XML,首先需要将其加载到内存中。使用`DocumentBuilderFactory`和`DocumentBuilder`类可以完成这个任务。以下是一个基本...
本资料包含的"xml.rar"压缩包提供了使用Java操作XML的源代码示例,涵盖了这两种解析方式。 DOM解析器将整个XML文档加载到内存中,创建一个树形结构,允许开发者通过节点进行访问和修改。DOM的优点在于它可以随机...
本文将详细介绍如何在JavaScript中使用DOM来操作XML。 首先,我们来看一下XML文件的基本结构。在提供的部分内容中,有一个简单的XML文件示例: ```xml <?xml version="1.0"?> <Name>c++ <Price>20 <k>1 ...
Javascript里使用Dom操作Xml.docx
DOM解析器读取整个XML文档到内存中,构建一棵由节点组成的树,这些节点代表了XML文档的所有元素、属性、文本和其他结构。 在Java中,`org.w3c.dom`包提供了DOM解析XML的基础接口和类。以下是DOM解析XML的基本步骤:...
总结,DOM提供了一种强大且灵活的方式来读取和操作XML文档。通过创建DOMDocument对象,我们可以构建XML文档,通过遍历和查询DOM树,我们可以读取并修改XML文档的内容。在处理复杂的数据结构和需要动态更新XML时,DOM...
Java DOM 解析 XML 实例 Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,...通过使用 DOM 解析 XML 文档,我们可以轻松地访问和操作 XML 文档中的元素和属性,从而实现了对 XML 文档的解析和处理。
DOM(Document Object Model)是XML文档的一种解析标准,它提供了一种结构化的表示XML文档的方式,使得开发者可以方便地访问和操作XML文档的各个部分。本教程“DOM解析XML应用实例(入门经典案例)”旨在帮助初学者...
Java DOM(Document Object Model)是一种基于树形结构的XML文档处理模型,它允许程序员通过对象接口来访问和操作XML文档的各个部分。DOM为XML文档提供了一种内存中的表示方式,使得开发人员可以方便地创建、修改和...