jdom学习读取xml文件

jdom学习读取xml文件
jdom学习读取xml文件

jdom学习:读取xml文件

用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类、Element类等的方法读取所需的内容。IBM : developerWorks 中国站上有一个很好的例子:

8G

200

1580

10G

500

3000

上面的sample.xml文档,描述了某台电脑中硬盘的基本信息(根节点代表硬盘,标签代表硬盘分区,从它的name属性可以看出有两个盘符名称为"C"和"D"的分区;每个分区下都包含,三个节点,分别代表了分区的空间大小、目录数量、所含文件个数)

下面的程序读取此文件中的信息:

import java.util.*;

import org.jdom.*;

import org.jdom.input.SAXBuilder;

public class Sample1 {

public static void main(String[] args) throws Exception{

SAXBuilder sb=new SAXBuilder();

Document doc=sb.build("sample.xml"); //构造文档对象

Element root=doc.getRootElement(); //获取根元素

List list=root.getChildren("disk");//取名字为disk的所有元素

for(int i=0;i

Element element=(Element)list.get(i);

String name=element.getAttributeValue("name");

String capacity=element.getChildText("capacity");//取disk子元素capacity的内容

String directories=element.getChildText("directories");

String files=element.getChildText("files");

System.out.println("磁盘信息:");

System.out.println("分区盘符:"+name);

System.out.println("分区容量:"+capacity);

System.out.println("目录数:"+directories);

System.out.println("文件数:"+files);

System.out.println("-----------------------------------");

}

}

}

运行结果:

C:\java>java Sample1

磁盘信息:

分区盘符:C

分区容量:8G

目录数:200

文件数:1580

----------------------------------- 磁盘信息:

分区盘符:D

分区容量:10G

目录数:500

文件数:3000

-----------------------------------

如何用vc创建和读取xml文件

如何用vc创建和读取xml文件 当前Web上流行的剧本语言是以HTML为主的语言结构,HTML是一种标记语言,而不是一种编程语言,主要的标记是针对显示,而不是针对文档内容本身结构的描述的。也就是说,机器本身是不能够解析它的内容的,所以就出现了XML语言。XML (eXtensible Markup Language)语言是SGML语言的子集,它保留了SGML主要的使用功能,同时大大缩减了SGML的复杂性。XML语言系统建立的目的就是使它不仅能够表示文档的内容,而且可以表示文档的结构,这样在同时能够被人类理解的同时,也能够被机器所理解。XML要求遵循一定的严格的标准。XML分析程序比HTML浏览器更加要挑剔语法和结构,XML要求正在创建的网页正确的使用语法和结构,而不是象HTML一样,通过浏览器推测文档中应该是什么东西来实现HTML的显示,XML使得分析程序不论在性能还是稳定性方面都更容易实现。XML文档每次的分析结果都是一致的,不象HTML,不同的浏览器可能对同一个HTML作出不同的分析和显示。 同时因为分析程序不需要花时间重建不完整的文档,所以它们能比同类HTML能更有效地执行其任务。它们能全力以赴地根据已经包含在文档中的那个树结构建造出相应的树来,而不用在信息流中的混合结构的基础上进行显示。XML标准是对数据的处理应用,而不是只针对Web网页的。任何类型的应用都可以在分析程序的上面进行建造,浏览器只是XML的一个小的组成部分。当然,浏览仍旧极其重要,因为它为XML工作人员提供用于阅读信息的友好工具。但对更大的项目来说它就不过是一个显示窗口。因为XML具有严格的语法结构,所以我们甚至可以用XML来定义一个应用层的通讯协议,比如互联网开放贸易协议(Internet Open Trading Protocol)就是用XML来定义的。从某种意义上说,以前我们用BNF范式定义的一些协议和格式从原则上说都可以用XML来定义。实际上,如果我们有足够的耐心,我们完全可以用XML来定义一个C++语言的规范。 当然,XML允许大量HTML样式的形式自由的开发,但是它对规则的要求更加严格。XML主要有三个要素:DTD(Document Type Declaration——文档类型声明)或XML Schema(XML大纲)、XSL(eXtensible Stylesheet Language——可扩展样式语言)和XLink(eXtensible Link Language——可扩展链接语言)。DTD和XML大纲规定了XML文件的逻辑结构,定义了XML文件中的元素、元素的属性以及元素和元素的属性之间的关系;Namespace(名域)实现统一的XML文档数据表示以及数据的相互集成;XSL是用于规定XML文档呈现样式的语言,它使得数据与其表现形式相互独立,比如XSL能使Web浏览器改变文档的表示法,例如数据的显示顺序的变化,不需要再与服务器进行通讯。通过改变样式表,同一个文档可以显示得更大,或者经过折叠只显示外面得一层,或者可以变为打印得格式。而XLink将进一步扩展目前Web上已有的简单链接。 二、实现XML解析的说明 当然,从理论上说,根据XML的格式定义,我们可以自己编写一个XML的语法分析器,但是实际上微软已经给我们提供了一个XML语法解析器,如果你安装了IE5.0以上版本的话,实际上你就已经安装了XML语法解析器。可以从微软站点(https://www.360docs.net/doc/d43455690.html,)下载最新的MSXML的SDK和Parser文件。它是一个叫做MSXML.DLL的动态链接库,最新版本为msxml3,实际上它是一个COM对象库,里面封装了所有进行XML解析所需要的所有必要的对象。因为COM是一种以二进制格式出现的和语言无关的可重用对象。所以你可以用任何语言(比如VB,VC,DELPHI,C++ Builder甚至是剧本语言等等)对它进行调用,

XML介绍

也是一个元素,元素除了包含元素还可以包含文本信息。元素也可以含有属性,比如property就具有name属性。 XML 元素可以在开始标签中包含属性,属性 (Attribute) 提供关于元素的额外(附加)信息。属性通常提供不属于数据组成部分的信息,但是对需要处理这个元素的应用程序来说却很重要。 XML 属性必须加引号,属性值必须被引号包围,不过单引号和双引号均可使用。 如果属性值本身包含双引号,那么有必要使用单引号包围它,或者可以使用实体引用。 1.2.3. 大小写敏感 XML对大小写是敏感的,这一点不象HTML。在XML中,标记< Letter> 和标记 是不一样的。 因此,打开和结束标记的大小写应该写成相同的: 1.2.4. 元素必须有关闭标签 XML要求每个元素必须由起始标签和关闭标签组成。关闭标签与起始标签的名字相同,写法上多一个“/” 例如: 只有起始标记是不行的。 必须要有关闭标签 1.2.5. 必须有根元素 XML要求必须有根元素,所谓根元素就是不被其它元素包围(不含有父元素)。并且根元素只能有一个。 01. 02. …03. 01. 02. 01. 根元素 02.

03. j d b c :t h i n @192.168.0.26:1521:t a r e n a 04.

05.

o p e n l a b

06.

o p e n 123

asp读取xml文件的方法

asp读取xml文件的方法 大家知道asp读取xml文件吗?下面我们就给大家详细介绍一下吧!我们积累了一些经验,在此拿出来与大家分享下,请大家互相指正。 ? strSourceFile=Server.MapPath(dataxml&”/Advertisement/”&id&”/a dv.xml”) ?SetobjXML=Server.CreateObject(“Microsoft.XMLDOM”)'创建一个XML对像 ?objXML.load(strSourceFile)'把XML文件读入内存 ?Setxml=objXML.documentElement.selectSingleNode(“Advertisement”)'选取节点Advertisement ?ADid=xml.childNodes.item(0).text ?ADname=xml.childNodes.item(1).text ?ADintro=xml.childNodes.item(2).text ?ADact=xml.childNodes.item(3).text ?ADclass=xml.childNodes.item(4).text ?Pids=xml.childNodes.item(5).text ?Picid=xml.childNodes.item(6).text ?ADurl=xml.childNodes.item(7).text ?ADwindow=xml.childNodes.item(8).text ?ADshow=xml.childNodes.item(9).text ?ADshows=xml.childNodes.item(10).text ?ADclick=xml.childNodes.item(11).text

JSON 数据格式

JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。 基础结构 JSON建构于两种结构: 1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。 2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。 基础示例 简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript 很容易解释它,而且 JSON 可以表示比"名称 / 值对"更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。 表示名称 / 值对 按照最简单的形式,可以用下面这样的 JSON 表示 "名称 / 值对" :{ "firstName": "Brett" } 这个示例非常基本,而且实际上比等效的纯文本 "名称 / 值对" 占用更多的空间:firstName=Brett 但是,当将多个"名称 / 值对"串在一起时,JSON 就会体现出它的价值了。首先,可以创建包含多个"名称 / 值对"的记录,比如: { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }

XML与SQL数据库

龙源期刊网 https://www.360docs.net/doc/d43455690.html, XML与SQL数据库 作者:刘立平 来源:《数字技术与应用》2015年第07期 摘要:XML的核心是描述数据的组织结构,它可以作为数据交换的标准格式。SQL数据库在数据查询、修改、保存、安全等方面具有其他数据处理手段无法替代的地位。一个系统获得一个XML文件后,可能需要将XML中的某些标记包含的文本内容转化为数据库中表的一条记录;另一方面,一个应用系统可能需要将数据库表中的某些记录转化为一个XML文件,以便与其他系统交互数据,发挥XML文件在数据交换上的优势。 关键词:XML SQL数据库数据交换 中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2015)07-0000-00 1 XML XML(eXtensible Markup Language)是可扩展标记语言,XML是由万维网联盟定义的一种语言,是表示结构化数据的行业标准。它使得Internet上的数据相互交流更加方便,让文件的内容更加显而易懂。XML不仅提供了直接在数据上工作的通用方法,还可以将用户界面和结构化数据相分离,允许不同来源的数据的无缝集成和对同一数据的多种处理。XML包括一系列相关技术,其中主要内容有:规范的XML、有效的XML文件、XML与CSS、XML与XSL、基于DOM的解析器、XML Schema模式、XML与数据库等等知识。 2数据库 数据库(DataBase,简称DB)是存放数据的仓库,是为了满足某一部门中多个用户的多种应用的需要,安装一定的数据模型在计算机中组织、存储和使用的相互联系的数据集合。数据库系统就是管理大量的、持久的、可靠的和共享的数据的工具。 数据库管理系统软件的种类有很多,但常用的也就那么三五种:ORACLE、My SQL、ACCESS、MS SQL Server这些是不同领域常用的数据库管理系统软件。其中ORACLE和MS SQL Server最为常见,这里以MS SQL Server为例, SQL server数据库是美国微软公司发布的一款RMDBS数据库,也就是关系型数据库系统。SQL server的优点为: (1)真正的客户服务器体系结构。 (2)图形化用户界面,更加直观、简单。 (3)丰富的编程接口工具,为用户进行程序设计提供更多选择余地。

java读写xml文件的方法

在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB 1. DOM(Document Object Model) 此方法主要由W3C提供,它将xml文件全部读入内存中,然后将各个元素组成一棵数据树,以便快速的访问各个节点。因此非常消耗系统性能,对比较大的文档不适宜采用DOM方法来解析。 DOM API 直接沿袭了 XML 规范。每个结点都可以扩展的基于 Node 的接口,就多态性的观点来讲,它是优秀的,但是在Java 语言中的应用不方便,并且可读性不强。 实例: Java代码 1.import javax.xml.parsers.*; 2.//XML解析器接口 3.import org.w3c.dom.*; 4.//XML的DOM实现 5.import org.apache.crimson.tree.XmlDocument; 6.//写XML文件要用到 7.DocumentBuilderFactory factory = DocumentBuilderFactory.newInst ance(); 8. //允许名字空间 9. factory.setNamespaceAware(true); 10. //允许验证 11. factory.setValidating(true); 12. //获得DocumentBuilder的一个实例 13.try { 14. DocumentBuilder builder = factory.newDocumentBuilder(); 15.} catch (ParserConfigurationException pce) { 16.System.err.println(pce); 17.// 出异常时输出异常信息,然后退出,下同 18.System.exit(1); 19.} 20.//解析文档,并获得一个Document实例。 21.try { 22.Document doc = builder.parse(fileURI); 23.} catch (DOMException dom) { 24.System.err.println(dom.getMessage()); 25.System.exit(1); 26.} catch (IOException ioe) { 27.System.err.println(ioe); 28.System.exit(1); 29.}

XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较[收藏]

1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。 2)SAX SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。 选择DOM还是选择SAX?对于需要自己编写代码来处理XML文档的开发人员来说,选择DOM还是SAX解析模型是一个非常重要的设计决策。DOM 采用建立树形结构的方式访问XML文档,而SAX采用的事件模型。 DOM解析器把XML文档转化为一个包含其内容的树,并可以对树进行遍历。用DOM解析模型的优点是编程容易,开发人员只需要调用建树的指令,然

后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用DOM解析器的时候需要处理整个XML文档,所以对性能和内存的要求比较高,尤其是遇到很大的XML文件的时候。由于它的遍历能力,DOM解析器常用于XML文档需要频繁的改变的服务中。 SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的tag。特别是当开发人员只需要处理文档中所包含的部分数据时,SAX这种扩展能力得到了更好的体现。但用SAX解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。 3)JDOM https://www.360docs.net/doc/d43455690.html,/ JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。由于是第一个Java特定模型,JDOM一直得到大力推广和促进。正在考虑通过“Java规范请求JSR-102”将它最终用作“Java标准扩展”。从2000年初就已经开始了JDOM开发。 JDOM与DOM主要有两方面不同。首先,JDOM仅使用具体类而不使用接口。这在某些方面简化了API,但是也限制了灵活性。第二,API大量使用了Collections类,简化了那些已经熟悉这些类的Java开发者的使用。

XML文件基本操作

XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Language,标准通用标记语言)。它没有标签集(tag set),也没有语法规则(grammatical rule),但是它有句法规则(syntax rule)。 任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得 含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档 类型定义(DTD)的文档。如果一个文档符合一个模式(schema)的规定,那么这个文档是"模式有效的(schema valid)"。 XML文件在存储、交换和传输数据信息上有着很方便处理,那么今天这篇文章主要讲一下用C#如何实现对XML文件的基本操作, 如:创建xml文件,增、删、改、查xml的节点信息。所使用的方法很基础,方便易懂(用于自己的学习和记忆只需,同时也希望能够给你带来一些帮助, 如有不合适的地方欢迎大家批评指正)。 本文的主要模块为: ①:生成xml文件 ②:遍历xml文件的节点信息 ③:修改xml文件的节点信息 ④:向xml文件添加节点信息 ⑤:删除指定xml文件的节点信息假设我们需要设计出这样的一个xml文件来存储相应的信息,如下所示: Lenovo 5000 IBM 10000 那么如何生成这个xml文件?又怎么读取这个xml文件的节点信息,以及如何对这个xml文件的节点信息作相应的操作?请看如下代码示例: 【注:因为我们要使用xml相关的语法和方法,所以一定要引入命名空间System.Xml】1using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Xml; 6 7 namespace OperateXML 8{

XML与关系数据库

XML与关系数据库 前面我们讲到了XML的数据存取机制,从一个较高的层面上分析了数据存取的多种方式。作为其中的一种,数据库的数据存取机制似乎倍受青睐,但我们并未对此作比较深入的探讨,这一节里我们对XML与数据库的关系进行更进一步的详细分析。 我们知道,关系数据库提供了对于大批量数据的有效存储管理和快速信息检索、查询的功能。从体系结构上看,数据库技术的发展历经了网络型数据库、层次型数据库、关系数据库、面向对象数据库。虽然面向对象数据库融入了面向对象技术,但是到目前为止,在各个领域使用最广的还是关系数据库。关系数据库管理系统(RDBMS)采用二维表格作为存储数据的模型,如下图10-1所示, 字段字段字段 行 行 行 行 图10-1 关系数据库二维表 表格由行和列组成,一般情况下,列被称作“字段”,用于表示组成数据有效信息的属性,而行则用于指示一条完整的数据记录。由于数据间的相关性可以通过表与表之间关键字(外键)来关联,由此产生了“关系”类型数据库的由来。 关系数据库有自己的查询语言——结构化查询语言(Structured Query Languag e,SQL)。SQL最初由IBM提出,后经不断发展,已于1986年成为业界标准并被广泛采用。SQL 是非过程性的。当SQL语句传送到数据库服务器后,服务器返回满足条件的结果或结果集(视具体查询项目而定)。一般情况下,大多数支持SQL 的服务器系统均采用客户/服务器架构,现在又发展到更为先进的分布式处理架构。这样一来,SQL服务器既可以接收客户应用程序发送的查询请求,也可以接收其他服务器的查询请求,这些服务器可能是其他SQL服务器,也可以是XML服务器。 就数据存储而言,关系型数据库已经是相当成熟的应用,从80年代商用产品出现至今,早已深入企业储存及数据应用的核心。相较之下,XML部分技术尚且在发展阶段。关系型数据库是透过详细定义和控制结构化数据的方式,达到数据增、删、查询的目的。因此它是以字段数据型态的精确定义,将数据以列的方式一笔笔储存,再透过数据表之间的互相关联,建构出数据和数据结合后的复杂结果,因此

C#读取XML文件经典案例,不经典你抽我!

读取XML到ListBox/ComboBox 1,知识需求: (1)访问XML文件的两个基本模型: 一,DOM模型;使用DOM的好处在于它允许编辑和更新XML文档,可以随机访问文档中的数据,可以使用XPath查询,但是,DOM的缺点在于它需要一次性的加载整个文档到内存中,对于大型的文档,这会造成资源问题。 二,流模型;流模型很好的解决了这个问题,因为它对XML文件的访问采用的是流的概念,也就是说,任何时候在内存中只有当前节点,但它也有它的不足,它是只读的,仅向前的,不能在文档中执行向后导航操作。虽然是各有千秋,但我们也可以在程序中两者并用实现优劣互补。C#采用流模型。 流模型每次迭代XML文档中的一个节点,适合于处理较大的文档,所耗内存空间小。流模型中有两种变体——“推”push模型和pull“拉”模型。 推模型也就是常说的SAX,SAX是一种靠事件驱动的模型,也就是说:它每发现一个节点就用推模型引发一个事件,而我们必须编写这些事件的处理程序,这样的做法非常的不灵活,也很麻烦。 .NET中使用的是基于“拉”模型的实现方案,“拉”模型在遍历文档时会把感兴趣的文档部分从读取器中拉出,不需要引发事件,允许我们以编程的方式访问文档,这大大的提高了灵活性,在性能上“拉”模型可以选择性的处理节点,而SAX每发现一个节点都会通知客户机,从而,使用“拉”模型可以提高Application的整体效率。在.NET中“拉”模型是作为XmlReader类(抽象类)实现的 (2)XmlReader类 Represents a reader that provides fast, non-cached, forward-only access to XML data. 该类中有三个重要的衍生类:XmlT extReader;XmlT extValidatingReader;XmlNodeReader (3)XmlNodeType枚举 该枚举里面有很多实用的数。 2,案例(VS2008+XML)

C#中常用的几种读取XML文件的方法

C#中常用的几种读取XML文件的方法 https://www.360docs.net/doc/d43455690.html,/tiemufeng1122/article/details/6723764 XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。微软也提供了一系列类库来倒帮助我们在应用程序中存储XML文件。 “在程序中访问进而操作XML文件一般有两种模型,分别是使用DOM(文档对象模型)和流模型,使用DOM的好处在于它允许编辑和更新XML文档,可以随机访问文档中的数据,可以使用XPath查询,但是,DOM的缺点在于它需要一次性的加载整个文档到内存中,对于大型的文档,这会造成资源问题。流模型很好的解决了这个问题,因为它对XML文件的访问采用的是流的概念,也就是说,任何时候在内存中只有当前节点,但它也有它的不足,它是只读的,仅向前的,不能在文档中执行向后导航操作。”具体参见在Visual C#中使用XML指南之读取XML 下面我将介绍三种常用的读取XML文件的方法。分别是 1:使用 XmlDocument 2:使用 XmlTextReader 3:使用 Linq to Xml 这里我先创建一个XML文件,名为Book.xml下面所有的方法都是基于这个XML文件的,文件内容如下: 1: 2: 3: 4: 5: 数据结构 6: 严蔚敏 7: 30.00 8: 9: 10: 路由型与交换型互联网基础 11: 程庆梅 12: 27.00 13: 14: 15: 计算机硬件技术基础 16: 李继灿 17: 25.00

python读取xml文件

python读取xml文件 还可以参见网址https://www.360docs.net/doc/d43455690.html,/uid-22183602-id-3036442.html https://www.360docs.net/doc/d43455690.html,/uid-22183602-id-3036442.html 2014-03-04 23:43 by 虫师, 13913 阅读, 1 评论, 收藏, 编辑 关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码。这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件。 什么是xml? xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 abc.xml 4 Python 测试 Zope Ok ,从结构上,它很像我们常见的HTML超文本标记语言。但他们被设计的目的是不同的,超文本标记语言被设计用来显示数据,其焦点是数据的外观。它被设计用来传输和存储数据,其焦点是数据的内容。 那么它有如下特征:

首先,它是有标签对组成, 标签可以有属性: 标签对可以嵌入数据:abc 标签可以嵌入子标签(具有层级关系): 获得标签属性 那么,下面来介绍如何用python来读取这种类型的文件。 #coding=utf-8import xml.dom.minidom #打开xml文档 dom = xml.dom.minidom.parse('abc.xml') #得到文档元素对象 root = dom.documentElement print root.nodeName print root.nodeValue print root.nodeType print root.ELEMENT_NODE mxl.dom.minidom 模块被用来处理xml文件,所以要先引入。 xml.dom.minidom.parse() 用于打开一个xml文件,并将这个文件对象dom变量。 documentElement 用于得到dom对象的文档元素,并把获得的对象给root 每一个结点都有它的nodeName,nodeValue,nodeType属性。 nodeName为结点名字。 nodeValue是结点的值,只对文本结点有效。 nodeType是结点的类型。catalog是ELEMENT_NODE类型

Android读写XML

Android读写XML(上)——package说明收藏 注明:本文转自https://www.360docs.net/doc/d43455690.html,. XML 经常用作Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,来说明Android SDK提供的读写XML的package。 首先介绍下Android SDK与Java SDK在读写XML文件方面,数据包之间的关系。Android 平台最大的一个优势在于它利用了Java 编程语言。Android SDK 并未向标准Java Runtime Environment (JRE) 提供一切可用功能,但它支持其中很大一部分功能。Java 平台支持通过许多不同的方式来使用XML,并且大多数与XML 相关的Java API 在Android 上得到了完全支持。举例来说,Java 的Simple API for XML (SAX) 和Document Object Model (DOM) 在Android 上都是可用的,这些API 多年以来一直都是Java 技术的一部分,较新的Streaming API for XML (StAX) 在Android 中并不可用。但是,Android 提供了一个功能相当的库。最后,Java XML Binding API 在Android 中也不可用,这个API 已确定可以在Android 中实现。Android SDK提供了如下package来支持XML的读写: 额外补充说明下,在android.util数据包中也提供了一个类Xml,不过这个类就是把以上package简单封装了下。 读取XML主要有2种方法:DOM与SAX(Simple API for XML),在这里对这2种方法分别加以说明。 DOM(文档对象模型),为XML文档的解析定义了一组接口,解析器读入整个文档,然后构造一个驻留内存的树结构,然后代码就可以使用DOM接口来操组整个树结构,其他点如下: ?优点:整个文档树都在内存当中,便于操作;支持删除、修改、重新排列等多功能。?缺点:将整个文档调入内存(经常包含大量无用的节点),浪费时间和空间。 ?使用场合:一旦解析了文档还需要多次访问这些数据,而且资源比较充足(如内存、CPU等)。 为了解决DOM解析XML引起的这些问题,出现了SAX。SAX解析XML文档为事件驱动,详细说明请阅读Android读写XML(中)–SAX。当解析器发现元素开始、元素结束,文本、文档的开始或者结束时,发送事件,在程序中编写响应这些事件的代码,其特点如下: ?优点:不用事先调入整个文档,占用资源少。尤其在嵌入式环境中,极力推荐采用SAX进行解析XML文档。

xml文件解析

查找结点,读取结点属性------------------------------------------------------ 获取结点的属性------------------------------------- 设置结点的属性------------------------------------------------ 给结点添加新属性------------------------------------------- 设置一个结点的内容---------------------------------------------------- 添加新节点---------------------------------------------------- 编码问题------------------------------------------------------------------ XML树: John Fleck June 2, 2002 example keyword This is the headline This is the body text. 1:查找结点 #include #include #include #include #include Void parseStory (xmlDocPtr doc, xmlNodePtr cur) { xmlChar *key; cur = cur->xmlChildrenNode; while (cur != NULL) { if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword")))

Java解析XML文件

Java解析XML文件 ========================================== xml文件 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE> <NO>A1234</NO> <ADDR>四川省XX县XX镇XX路X段XX号</ADDR> </VALUE> <VALUE> <NO>B1234</NO> <ADDR>四川省XX市XX乡XX村XX组</ADDR> </VALUE> </RESULT> ========================================== 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。 import java.io.*; import java.util.*; import org.w3c.dom.*; import javax.xml.parsers.*; public class MyXMLReader{ public static void main(String arge[]){ long lasting =System.currentTimeMillis(); try{ File f=new File("data_10k.xml"); DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); Document doc = builder.parse(f); NodeList nl = doc.getElementsByT agName("VALUE"); for (int i=0;i<nl.getLength();i++){ System.out.print("车牌号码:" +

XML与数据库的数据转换

实验三:XML 与数据库的数据转换 1实验学时 2 学时 2实验目的 理解 XML 与数据库之间的转换方式 在项目实践中综合各种知识的运用 3实验内容 采用 Eclipse IDE(或 MyEclipse) 建立一个 Java 项目 利用 MySQL 及其图形界面工具建立一个数据库 利用 JDBC 建立其和数据库的连接 编写 XML 文件和处理类以完成 XML 文件和数据库之间的 数据转换 4实验代码 import javax.xml.transform.*; import javax.xml.transform.stream.*; import javax.xml.transform.dom.*; import org.w3c.dom.*; import javax.xml.parsers.*; import java.io.*; import java.sql.*; public class DatabaseToXML { // MySQL的JDBC连接jar包位置是D:\mysql-connector-java-5.1.19-bin.jar // 数据库名称为:xmllab // 表名是:person,表中的字段及属性请查阅ppt文档 // 用户名是:root // 密码是:root public static void main(String args[]) { Connection con; Statement sql; ResultSet rs; // 为ppt文档中的图示中的表增加一个字段id,用于MySQL自增量计算 Integer[] id = {}; String[] number = { "" }; String[] name = { "" }; String[] date = { "" }; String[] salary = { "" }; try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) {

Google Earth的十个常用技巧应用

Google Earth的十个常用技巧应用 已有 563 次阅读2011-3-1 13:42|个人分类:科研相关|系统分类:科研笔记 2004年10月27日Google宣布收购了美国的一家卫星图像公司Keyhole 公司,并于2005年6月推出了Google Earth系列软件。用户们可以通过下载一个Google Earth客户端软件,就可以免费浏览全球各地的高清晰度卫星图片。 Google卫星地图的横空出世,催生了不少包括我在内的“地图玩家”,这些卫星地图发烧友们乐此不疲地收集和张贴那些有趣的地标以及自己的新发现,他们使得这个非常酷的软件迅速普及到了大众,使得普通人也可以体会到使用Google Earth浏览自己家房顶的快感。下面,我就介绍一下我自己在使用Google Earth这个软件的过程中,总结的一些常用的技巧和应用。 1. 根据经纬度定位地标的方法 在Search面板的Fly To输入框中,输入一个经纬度,按回车,就可以直接“飞”到那个位置。其间采用的那种动画效果,让我们产生一种遨游地球的奇妙感觉。 2. 如何在软件中截图 这里介绍一个简单的截图方法,找到一个画面后,按下“Ctrl+Shift+E”,会出现一个通过电子邮件发送截图的界面,如下图所示,双击附件里那个图片,另存到硬盘上即可。这个图片就是当前的截图。 3 如何导出地标文件 在需要引出的地标文件夹上,用鼠标右键点一下,在菜单中选择“Save As”然后输入引出文件名就行了,目前可以导出KMZ和KML两种地标文件格式。 4. KML和KMZ地标文件有什么不同 Google Earth有两种类型的地标文件,一种是KML文件,一种是KMZ文件。KML是原先的Keyhole客户端进行读写的文件格式,是一种XML描述语言,并且是文本格式,这种格式的文件对于Google Earth程序设计来说有极大的好处,程序员可以通过简单的几行代码读取出地标文件的内部信息,并且还可以通过程序自动生成KML文件,因此,使用KML格式的地标文件非常利于Google Earth 应用程序的开发。 KMZ是Google Earth默认的输出文件格式,是一个经过ZIP格式压缩过的KML 文件,当我们从网站上下载KMZ文件的时候,Windows会把KMZ文件认成ZIP文件,所以另存的时候文件后缀会被改成.ZIP,因此需要手动将文件后缀改成.KMZ。KMZ文件用ZIP工具软件打开,然后解压缩即可得到原始KML文件。当然,KMZ 文件也有自己的好处,就是KMZ文件的自身可以包含图片,这样就可以不依赖引用网络上的图片。 一般情况下,双击KMZ/KML文件即可从Google Earth中打开地标文件,但是需要注意的是,KMZ/KML地标文件名不能包含中文字符,文件存放的路径也不能有中文字符,否则将无法在Google Earth中打开。 5. 如何快速得到一个地标的KML格式 快速得到地标的KML文件内容的方法是,在Google Earth中右键点击一个地标,然后点右键,点Copy,然后打开记事本按Ctrl-V即可将该地标的KML内容粘贴到其中。

相关文档
最新文档