一、定义xml文件
<?xml version=”1.0” encoding=”GB2312” standalone=”no”?>
其中,standalone如果为yes,表示没有配套的DTD,如果为no则可能有个DTD配套。
二、语法
1、 注释:<!--text-->
2、 CDATA区,用来表示格式数据,区中不能出现“]]>”标记,需要用]]>代替。
如:<description>
<!
<!description>
3、 <poem xml:space=”preserve”>
其中可以包含空格、tab、回车换行,可以用CDATA
</poem>
4、 命名空间
<policeman
xmlns=”http://www.police.net/policeman.dtd” (默认)
xmlns:X=”http://www.police.net/criminal.dtd”>
<name>007</name>
<X:criminal>
<X:name>血刀老祖</X:name>
</X:criminal>
5、 常用的转义符号
>
|
>
|
<
|
<
|
&
|
&
|
“
|
"e;
|
‘
|
'
|
6、 设计原则
设计成元素:有substructure、multiple-occurrence、changes-Frequently
比较重要的元素用子元素、说明性或辅助性的用属性
需要用DTD做严格检查的可以用元素
三、 XSL
1、 XPath
* 现节点下所有元素
*/Elem 现节点学下所有节点的子节点为“Elem”的节点
@Prop 属性值
@* 所有属于现节点的属性
. 现节点
.. 现节点的上级
如:
<xsl:template match=”/”>
<p><xsl:value-of select=”*/name” /></p>
<xsl:template>
<xsl:template match=”icecream_shop”>
<table border=”1”>
<xsl:for-each select=”icecream”>
<tr><td><xsl:value-of value=”货号” /></td>
<tr><td><a>
<xsl:attribute name=”href”>
<xsl:value-of select=”描述页/@网址”/>
</xsl:attribute>
<xsl:value-of select=”描述页” />
</a>
或者:
<a href=”{描述页/@网址}”><xsl:value-of select=”描述页” /></a>
</td></tr>
</table>
</xsl:template>
2、 流程控制语句
<xsl:if test=””>output</xsl:if>
<xsl:choose>
<xsl:when test=””>output</xsl:when>
<xsl:otherwise test=””>output</xsl:otherwise>
</xsl:choose>
如:
<xsl:choose>
<xsl:when test=”id[test()=’1’]”>
...
</xsl:when>
<xsl:otherwise>
...
</xsl:otherwise>
3、 常用函数
text() 现节点的子元素中所有的文字节点
count() count(PERSON[name=’tom’])
number() select=”number(book/price)”
substring(value, start, length) select=”substring(name,1,3)”
sum() select=”sum(//price)”
4、 elem[i] 现节点下第i个叫做elem的元素(从1开始)
elem[position()=1] 同上
elem/[@prop=”somevalue”] 现节点下,名字为elem,具有prop的属性且属性值为somevalue的 元素。
elem1|elem2 现节点下,名字为elem1或elem2的元素
.//elem 现节点下,可以跨越级别,所有名字为elem的元素
elem1//elem2 现节点下,可以跨越级别,所有名字为elem2,且elem2的上级中所有叫elem1,且elem1是现节点的子元素
5、 引入xsl文件
<?xml-stylesheet type=”text/xsl” href=”/expert/xsl/2.xsl”?>
6、
四、 DTD
1、 例子
<!ELEMENT 丛书(书*)>
<!ELEMENT 书(名,人+,价*)>
<!ELEMENT 名(#PCDATA)>
<!ELEMENT 人(#PCDATA)>
<!ELEMENT 价(#PCDATA)>
<!ATTLIST 价
unit(RMB|美元|日元) ‘RMB’>
2、 其中
a) PCDATA: Parsable Character Data,可以混合,既有Data,又有子元素
b) ?(0个或多个) *(0个或多个) +(至少一个)
后面什么都不跟,表示有且只有一个
c) <!ELEMENT 书(名, 人+, 价*)> 用“,”隔开,则严格按照该顺序,如果用空格,则没有顺序关系
3、
五、DOM和SAX的区别
DOM:所有数据都在内存
SAX:流程性分析,不必把所有数据Load到内存中,可分析大型的XML文件,常用Server-side的XML-xhtml转换。
六、JDom读取xml文件
1、 初始化rootEdit
private Element rootElt;
SAXBuilder sb=new SAXBuilder();
Document doc;
try {
doc = sb.build(Thread.currentThread().getContextClassLoader().getResourceAsStream
(CONFIG_FILE_NAME));
this.rootElt=doc.getRootElement();
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
2、 取元素值
Element driverClassNameElt=(Element)XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-
info/driver-class-name");
jdbcInfo.setDriverClassName(driverClassNameElt.getText());
3、
七、 JDom写xml文件
1、 定义Element对象
Element rootElt=new Element("selects");
Element selectElt=new Element("select");
Element idElt = new Element("id");
idElt.addContent("1");
Element nameElt = new Element("name");
nameElt.addContent("吉林省");
selectElt.addContent(idElt);
selectElt.addContent(nameElt);
rootElt.addContent(selectElt);
2、 定义输出
Document doc = new Document(rootElt);
XMLOutputter out = new XMLOutputter();
//out.setFormat(Format.getCompactFormat().setEncoding("GB2312"));
out.output(doc,new FileOutputStream("C://test.xml"));
分享到:
相关推荐
在“XML学习手册第二版”中,它深入浅出地介绍了XML的基本概念、语法规范以及实际应用。 首先,XML的核心是其结构化特性。XML文档由元素构成,元素是XML文档的基本构建块,它们可以包含其他元素、文本或者属性。每...
XML(eXtensible Markup Language)是一种用于标记数据的语言,其设计目的是传输和存储数据,而非显示数据。在本文中,我们将深入探讨...通过实践和阅读“XML学习指南”,你可以深入掌握这一重要技术,提升你的IT技能。
ASP.NET_XML深入编程技术.pdf ...XML学习指南 XML官方指南中文版(CHM) XML实用大全.chm XML指南.chm XML编程从入门到精通.pdf XML网页制作实作教程 xml解决方案开发实务.pdf XML高级编程 无废话XMLl(PDF)
ASP.NET_XML深入编程技术.pdf ...XML学习指南 XML官方指南中文版(CHM) XML实用大全.chm XML指南.chm XML编程从入门到精通.pdf XML网页制作实作教程 xml解决方案开发实务.pdf XML高级编程 无废话XMLl(PDF)
《XML学习笔记.doc》可能包含了个人或团队在学习过程中整理的要点、难点解析、实战经验,以及一些易错点和最佳实践,这些都是理论知识之外的宝贵经验。 总的来说,这个“XML学习大全”资料包全面覆盖了XML的基础到...
在学习TinyXML的过程中,阅读提供的“TinyXML学习资料.pdf”文件会非常有帮助。这份资料可能涵盖了TinyXML的基本概念、用法示例以及常见问题的解决方案。通过深入学习,你将能够熟练地利用TinyXML进行XML的解析和...
这个“XML学习资料大全”包含了丰富的资源,可以帮助你深入理解和掌握XML的核心概念与实际应用。 1. **XML的特征及应用场合**: XML的设计目标是使数据具有自我描述性,它使用标签来定义数据结构,而非呈现方式。...
《XML学习指南》作为一款经典教程,将帮助我们深入了解这一强大的工具。 首先,XML的基础知识包括其基本结构和语法。XML文档由元素(Element)、属性(Attribute)、文本(Text)等构成,遵循严格的规则,如元素...
本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息...
在《XML学习指南》中,你将深入了解到XML的基础和高级概念。 1. **XML基础**:XML的语法基础包括元素、属性、文本内容、注释和处理指令。每个XML文档都由一系列元素构成,元素是XML文档的最基本单位,通过尖括号...
在本“XML学习指南中文版”中,你将深入理解XML的基础概念、结构以及它在信息技术领域的广泛应用。 XML的核心在于其可扩展性,这意味着用户可以自定义标签来表示数据,而不仅仅是预设的HTML标签。这种灵活性使得XML...
XML学习心得分享 XML(Extensible Markup Language)是一种用于建立描述结构化数据标示语言的语言。它具有开放、可读取、扩展性强、避免浏览器或其他中介软件自行增加特定的HTML标签等特点。XML用于描述结构化数据...
在XML学习手册中,可能会详细介绍XML的声明(Document Type Declaration, DTD)和XML Schema,它们是用于定义XML文档结构的规范。DTD允许定义元素和属性的类型,以及元素间的约束关系;XML Schema则更现代,提供了更...
XML学习指南,极适合新手学习,其中样式表、处理指令和CDATA、DTD子集、级联样式表、XSL模版等XML基本知识都有详细介绍及教学,本书将有助你开发ASP.NET+XML网络程序时遇到的XML方方面面的问题
本代码库是针对"Java Web开发详解"一书的配套XML学习代码,旨在帮助读者更好地理解和实践XML的相关概念。 1. **XML基础** - **XML元素**: XML文档的核心是元素,它们用尖括号 `和 `>` 包围,如 `<element>content...
XML(eXtensible Markup ...通过深入学习XML,你可以掌握数据表示的灵活性,更好地进行数据交换和程序设计。这个资料包“XML初学进阶”可能包含基础教程、实战案例和相关工具的使用指南,是你提升XML技能的好助手。
本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息...
XML学习进阶1-- 什么是XML 1 1 为什么使用 XML? 3 2 什么是 XML? 3 3 数据的结构表示 4 4 XML 文档 4 5 数据是从表示和处理中分离出来的 7 6 使XML数据自描述 8 7 XML数据处理 9 8 开放式标准 10 9 从XML中受益 11...
在XML学习过程中,你需要理解XML文档的语法规范,例如每个元素必须有开始标签和结束标签,元素名称是大小写敏感的,且需要正确嵌套。此外,XML文档需要有根元素,所有的其他元素都是根元素的子元素。 XML文档可以与...
很全的xml学习资料 很全的xml学习资料 很全的xml学习资料