XML学习笔记

 1.XML用途:
   1>.用于配置文件
   2>.用于数据交换

2.如果是专业研究XML,可以用工具XMLSpy来写XML,但一般情况下我们还是手写

3.<?xml version="1.0" encoding="gb2312" standalone="no"?>
说明:声明是个xml文件,standalone为yes表示没有配套的DTD,为no表示有可能有个配套的DTD
<?xml-stylesheet dref="typical.xsl" style="text/xsl"?>
说明:引入xsl装饰
<bookstore name="西单图书大厦">
<book author="马士兵">
   <!--我从来没有使用过这本书-->
说明:注释
   <name>如何在肯德基白吃白喝</name>
   <description>找个人替你付帐</description>
   <price unit="元(RMB)">500</price>
</book>
说明:这是内容,属性(元(RMB))必须用引号括起来
<book author="somebody">
   <name>模糊教学</name>
   <description><![CDATA[
      *******************
       *参考数目
       *<<史记>><<诗经>>
       *   b
       *Log  =C
       *  a
      *******************
    ]]>
说明:放一些还有特殊符号的东西,以免和xml元素造成混淆
    </description>
    <price>1000</pricez>
</book>
<softwarez></software>
说明:空元素
<disc/>
说明:空元素
</bookstore>

说明:xml是区分大小写的

4.命名空间


5.设计原则
  到底设计成属性还是设计成子元素原则:
   1> 包含子元素
   2>.包含多行
   3>.发生多次
   4>.经常改变
   5>.比较重要的东西
   6>.需要用DTD做严格限制的
6.XSL
  为了控制XML文档的显示,我们有必要建立一种机制,CSS就是其中
  的一种,但是XSL(eXtensible Stylesheet Language)是显示XML文
  档的首选样式语言,它比CSS更适合于XML。
 
  XSL可以被用来定义XML文档如何显示,可以将XML文档转换成能被
  浏览器识别的HTML文件,通常的,XSL是通过将每一个XML元素"翻
  译"为HTML元素,来实现这种转换的。这就实现了数据和显示的分
  离.但是效率比较低

7.DTD
  一个文档类型定义(Document Type Definition)是一套标签的语
  法定义。它告诉你在一个XML文档中你能够使用那些标签,标签出
  现的顺序以及能够使用那些属性等等。

8.Schema
  DTD语法怪异,现在大部分都使用Schema.Schema简单,本身就是XML

9.两种不同的XML解析模型
  1>.DOM-- 一次性把文件读到内存里形成一个DOM树
  2>.SAX-- 面向事件的,读一部分写一部分,适合可解析大型文件

10.jdom读取xml文件
  1>生成SAXBuilder对象
    SAXBuilder sb=new SAXBuiler();
  2>.读取XML文件
    Document doc=sb.build(Thread.currentThread().getContextClassLoader().getResourceAsStream("global-configure.xml"));
  3>获取根节点
    Element rootElt=doc.getRootElement();      
    1>).没有重复元素的
       Element DriverClassNameElt=(Element)XPath.selectSingleNode(rootElt,"//sys-configure/jdbc-info/driver-class-name");
       jdbcInfo.setDriverClassName(DriverClassNameElt.getText());
     2>).有重复元素的
       List beanList=XPath.selectNodes(rootElt,"//sys-configure/beans/bean");
       for(Iterator iter=beanList.iterator();iter.hasNext();){
          Element beanElt=(Element)iter.next();
          String id=beanElt.getAttributeValue("id");
          String className=beanElt.getAttributeValue("class");
          System.out.println(id);
          System.out.println(className);
       }
11.jdom写(生成)xml文件
    1>.生成Document对象
       Document doc=new Document(rootElt);
    2>.生成XMLOutputter对象
       XMLOutputter out=new XMLOutputter();
    3>.设置xml文件编码
       out.setFormat(Format.getCompactFormat().setEncoding("gb2312");
    4>.生成xml文件
       out.output.(doc,new FileOutputStream("E:/test.xml"));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值