一、定义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学习指南xml学习指南xml学习指南xml学习指南xml学习指南
XML学习进阶 XML学习入门资料 XML学习进阶 XML学习入门资料 XML学习进阶 XML学习入门资料 XML学习进阶 XML学习入门资料
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学习指南 xml教程 使用 xml学习指南 xml教程
本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息...
xml学习知识
XML学习资料XML学习资料XML学习资料 XML学习资料XML学习资料XML学习资料
XML学习心得分享XML学习心得分享XML学习心得分享
最全的XML学习资料包,包含XML学习笔记
XML学习指南经典中文版 扩展标记语言(Extensible Markup Language,XML),是目前最有前途的在World Wide Web上保存和传递信息的语言。尽管超文本标记语言(Hypertext Markup Language,HTML)目前是创建Web页的最...
XML学习指南,极适合新手学习,其中样式表、处理指令和CDATA、DTD子集、级联样式表、XSL模版等XML基本知识都有详细介绍及教学,本书将有助你开发ASP.NET+XML网络程序时遇到的XML方方面面的问题
TinyXML学习资料 非常实用,呵呵
XML学习资料大全,里面详解了每一章的XML讲解,希望可以帮助到您...
本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息...
XML学习指南,经典的XML教程,非常不错
XML学习指南,学习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学习指南中文版(PDF) XML学习指南中文版(PDF)
《XML学习指南》是一本系统完整介绍XML的书籍。