`
strong_fee
  • 浏览: 179217 次
  • 性别: 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(eXtensible Markup Language)是一种用于标记数据的语言,其设计目的是传输和存储数据,而非显示数据。在本文中,我们将深入探讨...通过实践和阅读“XML学习指南”,你可以深入掌握这一重要技术,提升你的IT技能。

    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学习笔记.doc》可能包含了个人或团队在学习过程中整理的要点、难点解析、实战经验,以及一些易错点和最佳实践,这些都是理论知识之外的宝贵经验。 总的来说,这个“XML学习大全”资料包全面覆盖了XML的基础到...

    TinyXML学习资料

    在学习TinyXML的过程中,阅读提供的“TinyXML学习资料.pdf”文件会非常有帮助。这份资料可能涵盖了TinyXML的基本概念、用法示例以及常见问题的解决方案。通过深入学习,你将能够熟练地利用TinyXML进行XML的解析和...

    XML学习资料大全

    这个“XML学习资料大全”包含了丰富的资源,可以帮助你深入理解和掌握XML的核心概念与实际应用。 1. **XML的特征及应用场合**: XML的设计目标是使数据具有自我描述性,它使用标签来定义数据结构,而非呈现方式。...

    XML学习指南(经典)

    《XML学习指南》作为一款经典教程,将帮助我们深入了解这一强大的工具。 首先,XML的基础知识包括其基本结构和语法。XML文档由元素(Element)、属性(Attribute)、文本(Text)等构成,遵循严格的规则,如元素...

    XML学习指南 电子书

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

    XML学习指南(PDF格式)

    在《XML学习指南》中,你将深入了解到XML的基础和高级概念。 1. **XML基础**:XML的语法基础包括元素、属性、文本内容、注释和处理指令。每个XML文档都由一系列元素构成,元素是XML文档的最基本单位,通过尖括号...

    XML学习指南中文版(PDF)

    在本“XML学习指南中文版”中,你将深入理解XML的基础概念、结构以及它在信息技术领域的广泛应用。 XML的核心在于其可扩展性,这意味着用户可以自定义标签来表示数据,而不仅仅是预设的HTML标签。这种灵活性使得XML...

    XML学习心得分享XML学习心得分享

    XML学习心得分享 XML(Extensible Markup Language)是一种用于建立描述结构化数据标示语言的语言。它具有开放、可读取、扩展性强、避免浏览器或其他中介软件自行增加特定的HTML标签等特点。XML用于描述结构化数据...

    xml学习手册 xml学习资料

    在XML学习手册中,可能会详细介绍XML的声明(Document Type Declaration, DTD)和XML Schema,它们是用于定义XML文档结构的规范。DTD允许定义元素和属性的类型,以及元素间的约束关系;XML Schema则更现代,提供了更...

    XML 学习指南中文版(PDF)

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

    xml学习代码

    本代码库是针对"Java Web开发详解"一书的配套XML学习代码,旨在帮助读者更好地理解和实践XML的相关概念。 1. **XML基础** - **XML元素**: XML文档的核心是元素,它们用尖括号 `和 `&gt;` 包围,如 `&lt;element&gt;content...

    XML学习进阶 XML学习入门资料

    XML(eXtensible Markup ...通过深入学习XML,你可以掌握数据表示的灵活性,更好地进行数据交换和程序设计。这个资料包“XML初学进阶”可能包含基础教程、实战案例和相关工具的使用指南,是你提升XML技能的好助手。

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

    本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量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学习指南

    在XML学习过程中,你需要理解XML文档的语法规范,例如每个元素必须有开始标签和结束标签,元素名称是大小写敏感的,且需要正确嵌套。此外,XML文档需要有根元素,所有的其他元素都是根元素的子元素。 XML文档可以与...

    xml学习资料,很全的xml学习资料

    很全的xml学习资料 很全的xml学习资料 很全的xml学习资料

Global site tag (gtag.js) - Google Analytics