1、 一个典型的XML文件格式
<?xml version=”1.0” encoding=”GBK”?>
<!DOCTYPE person[
<!—定义根节点,并指出该节点的子元素à
<!ELEMENT person(userid?,username?,sex?,age)>//?号表示0或者1个,*号表示该节点出现0次或者多次,+号表示1或者多个,|表示或者,逗号表示并且,()表示一组要共同匹配的表达式
<!—分别对person中的子元素进行说明à
<!ELEMENT userid(#PCDATA)>
<!ELEMENT username(firstname,lastname+)>//表示节点username下还有子节点firstname,lastname。
<!ELEMENT firstname(#PCDATA)>
<!ELEMENT lastname(#PCDATA)>
<!ELEMENT person ANY>//表示节点person下可以出现任意的子节点,已经定义的和没定义的都可以出现在节点person下,子节点也不再有顺序的限制。
<!ELEMENT sex(#PCDATA)>
<!ELEMENT age(#PCDATA)>
<!ATTLIST name firstname size(100|500)’100’>//表示firstname节点的size的取值范围是100到500之间,默认值是100。
]>
<!ATTLIST sex type CDATA ‘male’>//表示节点sex有一个名字为type的属性,该属性的类型为CDATA,默认值为male。
<!ATTLIST username shrotname CDATA #FIXED ‘zhang’>
<!ATTLIST username lastname CDATA #IMPLIED>//REQUIRED 表示必须为该属性赋值,IMPLIED 表示不要求必须提供属性值,可有可无。FIXED表示该属性必须取值为某以值,如上述中的shortname的属性值必须为zhang(区分大小写)。
<!ATTLIST userid id(7489,7521,7897) #REQUIRED)>//表示节点userid 的属性id的值必须在7489或者7521或者7897这三个值中选取一个。
<person>
<usename>ALLEN</username>
<sex>male</sex>
<age>22</age>
</person>
2、 DTD说明
DTD是用来约束xml文件元素的,可分为内部,外部,公共的。
DTD作用:在大多数情况下,xml文件会存在多个,比如过滤文件,一个模块可能有一个,而这些文件都要求格式统一,这我们的解析类我猜可以根据固定的节点来读取这些信息,所以,我们需要一个共同的约束来限定这些xml文件。
3、 引入外部DTD文件的格式
<?xml versio=”1.0” encoding=”GBK”?>
<!DOCTYPE person SYSTem “demo.dtd”>
4、 MyEclipse 里引入公共的DTD文件
(1) 新建一个xml文件。
(2) 点击右侧的xml,引入系统已经定义好的公共的DTD文件。
5、 xml元素的语法
在XML中没有任何的保留字,所以你可以随心所欲的用任何词语来作为元素名称,但是也必须遵守以下规范:
(1)、名称中可以包含字母,数字以及其他字母;
(2)、名称不能以数字或下划线开头;
(3)、名称不能以字母xml(或XML或Xml..)开头
(4)、名称中不能包含空格。
(5)、名称中间不能包含“:”冒号。
6、 读取并解析XML文档
读写XML文档主要依赖于org.dom4j.io包
解析类Reader的read方法是重载的,可以从InputStream,File,Url等多种不同的源来读取。得到的Document对象就代表了整个XML。
读取的字符编码是按照XML文件头定义的编码来转换。如果遇到乱码问题,注意要把各处的编码名称保持一致即可。
源程序:
SAXReader reader = new SAXReader();
String filename = “c:\\config.xml”;
Document document = reader.read(new File(filename));
//文档对象Document可以转化为字符串
String str = document.asXML();
System.out.println(str);
分享到:
相关推荐
使用java工具xml2axml.jar反编译AndroidManafest文件 通过xml2axml.jar工具反编译AndroidManafest文件 还原AndroidManafest.xml详细过程: 1、获取到apk 2、解压获取里面的AndroidManifest.xml文件 3、在xml2axml....
xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作
java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...
易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 教程 带源码
XML发展历史概述 XML文档组成元素 XML Schema组成元素 XML相关API
xml手册xml手册xml手册xml手册xml手册xml手册xml手册xml手册
tinyxml与tinyxml2两个版本的源码,操作xml很方便,解压可以直接使用.
C++读xml,包括读XML,写XML,让你完全了解XML。C++读xml,包括读XML,写XML,让你完全了解XML。C++读xml,包括读XML,写XML,让你完全了解XML。C++读xml,包括读XML,写XML,让你完全了解XML。C++读xml,包括读XML...
andxml汉化版是一个xml文件反编译工具,可与APKTOOL反编译配合使用,APK文件使用APKTool反编译生成XML文件后,就可以直接通过它进行汉化编辑 注意: 1、一键机器翻译会造成某些代码出现翻译错误现象,请人工识别。...
无废话XML 无废话XML 无废话XML 无废话XML 无废话XML
Qt读写Xml文件,QTreeWidget显示Xml和导出Xml文件
动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...
一、Idea关联的maven本地仓库配置文件settings.xml (1)必须使用默认文件名 D:\developsoft\javaweb\commonPlugins\maven\apache-maven-3.8.1_first\conf\settings.xml 二、Myeclipse关联的maven本地仓库配置文件...
主要介绍了Maven pom.xml与settings.xml详解的相关资料,这里对pom.xml与setting.xml详细的研究说明,需要的朋友可以参考下
利用pugixml 转化xml为string
xml加密(XML Encryption)是w3c加密xml的标准。这个加密过程包括加密xml文档的元素及其子元素,通过加密,xml的初始内容将被替换,但其xml格式仍然被完好的保留。 介绍 我们有3个加密xml的方法 1、仅仅使用对称...
中国XML论坛--遍历XML代码(C#).htm中国XML论坛--遍历XML代码(C#).htm中国XML论坛--遍历XML代码(C#).htm中国XML论坛--遍历XML代码(C#).htm中国XML论坛--遍历XML代码(C#).htm中国XML论坛--遍历XML代码(C#)...
tinyxml 读写xml方法,简单易用!
pugixml读写XML示例 pugixml读写XML示例 pugixml读写XML示例
解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml