`

dom读取xml

阅读更多
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
分享到:
评论

相关推荐

    DOM读取XML文件

    5. 遍历和操作节点:通过DOM树的API,如`getElementsByTagName()`, `getChildNodes()`, `getTextContent()`等,遍历和操作XML文档中的各个节点。 例如,在DomProject这个示例项目中,可能包含以下代码片段: ```...

    使用DOM读取XML文件

    本文将深入探讨如何使用DOM读取XML文件,并结合提供的标签“源码”和“工具”,提供实用的代码示例和相关知识。 首先,理解DOM的基本概念。DOM将XML文档看作一个由节点组成的树形结构,其中根节点代表整个文档,而...

    【Qt】DOM读取XML文档.rar

    一旦XML文档加载成功,我们可以遍历和操作DOM树。例如,要获取根元素,可以这样做: ```cpp QDomElement root = doc.documentElement(); ``` 对于查找特定元素,`QDomDocument`提供`elementsByName`或`findFirst`...

    DOMProject(通过DOM读取XML)

    **DOMProject(通过DOM读取XML)** 在IT领域,XML(eXtensible Markup Language)是一种被广泛用于存储和传输数据的标记语言。它的结构清晰,易于机器和人类阅读,使得XML成为Web服务和应用程序间交换数据的理想...

    dom读取xml与写入xml

    这个模型由节点构成,包括元素、属性、文本等,使得程序员可以通过JavaScript、Java、Python等语言对XML文档进行读取和写入操作。本文将深入探讨DOM解析XML的原理和实践,并通过源码分析来揭示其实现细节。 首先,...

    DOM操作XML文档

    学习XML语言很重要的一章节,其中的第八章节,掌握如何用DOM操作XML文档

    DOM操作XML,XPATH技术

    标题"DOM操作XML,XPATH技术"指的是在编程中处理XML文档时,使用Document Object Model (DOM) 和XPath两种主要技术。DOM是一种标准,用于表示XML和HTML文档的树形结构,它允许程序和脚本动态更新、添加、删除和查找...

    vc DOM操作xml,从Tree到Xml,xml到Tree

    在本主题“vc DOM操作xml,从Tree到Xml,xml到Tree”中,我们将深入探讨如何利用VC++(Microsoft的C++编译器)来实现DOM操作XML,并将XML数据与树形控件进行交互。 首先,我们需要了解XML的基本概念。XML...

    DOM操作XML文档向表格添加数据.rar

    总结来说,通过DOM操作XML文档向表格添加数据是一项常见的Web开发任务,它涉及XML文档的读取、解析,以及HTML元素的动态创建和更新。这一过程对于构建交互式和数据驱动的Web应用程序至关重要。通过理解并熟练运用DOM...

    java.dom操作xml完整的例子

    在这个"java.dom操作xml完整的例子"中,我们可以预见到以下关键知识点: 1. **XML文档的解析**:首先,我们需要使用`DocumentBuilderFactory`创建一个`DocumentBuilder`实例,然后通过`parse()`方法加载XML文件。...

    使用DOM解析XML文档

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

    java dom 操作xml

    在本教程中,我们将深入探讨如何使用Java DOM来操作XML文件。 1. XML文档加载: 要开始操作XML,首先需要将其加载到内存中。使用`DocumentBuilderFactory`和`DocumentBuilder`类可以完成这个任务。以下是一个基本...

    xml.rar_dom操作xml_java 操作 xml_java xml_sax_xml

    本资料包含的"xml.rar"压缩包提供了使用Java操作XML的源代码示例,涵盖了这两种解析方式。 DOM解析器将整个XML文档加载到内存中,创建一个树形结构,允许开发者通过节点进行访问和修改。DOM的优点在于它可以随机...

    Javascript里使用Dom操作Xml_1.docx

    本文将详细介绍如何在JavaScript中使用DOM来操作XML。 首先,我们来看一下XML文件的基本结构。在提供的部分内容中,有一个简单的XML文件示例: ```xml &lt;?xml version="1.0"?&gt; &lt;Name&gt;c++ &lt;Price&gt;20 &lt;k&gt;1 ...

    Javascript里使用Dom操作Xml.docx

    Javascript里使用Dom操作Xml.docx

    DOM_XML.rar_DOM_dom xml_dom xml java_dom解析xml_java解析xml

    DOM解析器读取整个XML文档到内存中,构建一棵由节点组成的树,这些节点代表了XML文档的所有元素、属性、文本和其他结构。 在Java中,`org.w3c.dom`包提供了DOM解析XML的基础接口和类。以下是DOM解析XML的基本步骤:...

    利用DOM读写XML

    总结,DOM提供了一种强大且灵活的方式来读取和操作XML文档。通过创建DOMDocument对象,我们可以构建XML文档,通过遍历和查询DOM树,我们可以读取并修改XML文档的内容。在处理复杂的数据结构和需要动态更新XML时,DOM...

    java dom 解析 xml 实例

    Java DOM 解析 XML 实例 Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,...通过使用 DOM 解析 XML 文档,我们可以轻松地访问和操作 XML 文档中的元素和属性,从而实现了对 XML 文档的解析和处理。

    DOM解析XML应用实例(入门经典案例)

    DOM(Document Object Model)是XML文档的一种解析标准,它提供了一种结构化的表示XML文档的方式,使得开发者可以方便地访问和操作XML文档的各个部分。本教程“DOM解析XML应用实例(入门经典案例)”旨在帮助初学者...

    Java DOM 生成XML

    Java DOM(Document Object Model)是一种基于树形结构的XML文档处理模型,它允许程序员通过对象接口来访问和操作XML文档的各个部分。DOM为XML文档提供了一种内存中的表示方式,使得开发人员可以方便地创建、修改和...

Global site tag (gtag.js) - Google Analytics