`
strong_fee
  • 浏览: 175868 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

XML的学习

    博客分类:
  • Java
阅读更多

一、定义xml文件

         <?xml version=”1.0” encoding=”GB2312” standalone=”no”?>

         其中,standalone如果为yes,表示没有配套的DTD,如果为no则可能有个DTD配套。

二、语法

1、   注释:<!--text-->

2、   CDATA区,用来表示格式数据,区中不能出现“]]>”标记,需要用]]&gt;代替。

         如:<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、   常用的转义符号

 

&gt;

&lt;

&

&amp;

&quote;

&apos;

6、   设计原则

设计成元素:有substructuremultiple-occurrencechanges-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       现节点下,名字为elem1elem2的元素

.//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、    

五、DOMSAX的区别

DOM:所有数据都在内存

SAX:流程性分析,不必把所有数据Load到内存中,可分析大型的XML文件,常用Server-sideXML-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、    

七、 JDomxml文件 

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"));

 

 

 

0
0
分享到:
评论

相关推荐

    xml学习指南xml学习指南

    xml学习指南xml学习指南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)

    XML学习资料合集之二

    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教程

    XML学习指南 电子书

    本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息...

    xml学习知识

    xml学习知识

    XML学习资料....

    XML学习资料XML学习资料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 学习指南中文版(PDF)

    XML学习指南,极适合新手学习,其中样式表、处理指令和CDATA、DTD子集、级联样式表、XSL模版等XML基本知识都有详细介绍及教学,本书将有助你开发ASP.NET+XML网络程序时遇到的XML方方面面的问题

    TinyXML学习资料

    TinyXML学习资料 非常实用,呵呵

    XML学习资料大全

    XML学习资料大全,里面详解了每一章的XML讲解,希望可以帮助到您...

    XML学习指南!!!!!!!!!!!!!!!!!!!!!!!!!!!

    本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息...

    XML学习指南(经典)

    XML学习指南,经典的XML教程,非常不错

    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学习指南中文版(PDF)

    XML学习指南(PDF格式)

    《XML学习指南》是一本系统完整介绍XML的书籍。

Global site tag (gtag.js) - Google Analytics