xml文件详解

什么是xml;
   1.xml是可扩展标记语言(Extensible Markup Langiage)
   2.xml是一种标记语言,类似与HTML
   3.xml的设计宗旨是传输数据,而非显示数据
   4.标签没有被预定义。需要自定义标签
   5.被设计具有自我描述性
   6.是w3c的推荐标准
   7.xml是独立与软件与硬件的
没有任何行为的xml;
    xml不会做任何事情,xml被设计用来结构化、存储以及传输信息.
    
xml仅仅是纯文本
    1.xml并没有什么特殊的,有能力处理纯文本的软件的可以处理xml
    2.不过,能够读懂xml的应用程序可以有针对的处理xml标签。标签的功能性意义依赖于应用程序的特诊
    3.xml可以自己发明标签,例如:
        一个标准的xml文档:
        <note>
            <to>George</to>
            <from>Jhon</from>
            <heading>Reminder</heading>
            <body>Don't forget the meeting!</body>
        </note>
    上例中的<to></to><from></from>
    html标签是预定义的,例如:<p></p>  <h1></h1>等,必须使用预定义的标签
    xml允许创作者自己定义自己的标签,例如:<to></to>
    
xml的用途
    1.xml把数据从html分离
    2.xml简化数据共享
        在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。
        XML 数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法
    3.xml简化数据传输
        对开发人员来说,其中一项最费时的挑战一直是在因特网上的不兼容系统之间交换数据。
        由于可以通过各种不兼容的应用程序来读取数据,以 XML 交换数据降低了这种复杂性。
    4.使数据更有用
        
    5.xml用于创建新的internet语言
      其中的例子包括:
          XHTML - 最新的 HTML 版本
          WSDL - 用于描述可用的 web service
          WAP 和 WML - 用于手持设备的标记语言
          RSS - 用于 RSS feed 的语言
          RDF 和 OWL - 用于描述资源和本体
          SMIL - 用于描述针针对 web 的多媒体
xml树结构
    xml是一种树形结构,它从根部开始,然后扩展到枝叶
    一个简单的xml实例:
        <xml version="1.0" encoding="utf-8">
            <note>
                <to>GeoGra</to>
                <from>John</from>
                <heading>Reminder</heading>
                <body>Don't forget the meeting!</body>
            </note>
        </xml>
    说明:
        1.<xml version="1.0" encoding="utf-8"><xml/> 这是xml文档的声明,声明的版本,使用的字符集
        2.<note></note>是根元素
        3.<to></to><from></from><heading></heading><body></body>是4个子元素,并列子元素
        4.xml从左往右就是树形结构,其中xml必须具有根元素
        5.看出层次结果很清晰
    xml标准格式:
        <root>
            <child id="child1">
              <subchild>.....</subchild>
            </child>
        </root>
xml语法规则
    html语法规则
        1.<h1>这是一个合法的html标签,省略了结尾的关闭标签</h1>,例如:<p>
    xml语法规则
        1.xml是不允许省略关闭标签
        2.注意,在xml声明中,并没有关闭标签,这不是错误,因为xml文档声明并不属于xml组成部分
        3.xml必须有跟节点
        4.xml标签必须被正确嵌套
        5.xml的属性值表示为:属性="属性值" ,例如xml标准格式中的id="child1"
        6.在xml中,如果出现'<'、'&'、'>'、'''、'"'(详情见:http://www.w3school.com.cn/xml/xml_syntax.asp)(只有<和&是非法的,其余合法>
    xml注释:
        <!--和ntml一样-->
    xml中的空格:
        xml中的空格不会被省略
        xml以LF来表示换行
    xml命名规则;
        1.可以包含字母、数字、下划线
        2.不能以数字或者标点符号开始
        3.名称不能以xml开始
        4.名称不能包含空格
        5.无保留字
    最佳命名习惯
        1.使名称具有描述性。使用下划线的名称也很不错。        
        2.名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。       
        3.避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。        
        4.避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。
        5.避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。   
        6.XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。        
        7.非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。
    xml元素是可扩展的:(详见:http://www.w3school.com.cn/xml/xml_elements.asp)
        1.可以提取特定的元素
        2.在提取文件时修改xml文件不会中断程序
xml属性:
    使用规则:
        1.xml的属性必须加引号(单引号和双引号均可)
        2.尽量避免使用属性
        3.使用属性尽量与实际应用没有关系
    属性和元素的区别:
        1.因使用属性而引起的一些问题:
        2.属性无法包含多重的值(元素可以)
        3.属性无法描述树结构(元素可以)
        4.属性不易扩展(为未来的变化)
        5.属性难以阅读和维护
        6.请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息
        7.一个违规使用实例
          <note day="08" month="08" year="2008"
              to="George" from="John" heading="Reminder" 
              body="Don't forget the meeting!">
          </note>
xml验证:
    1.XML 文档必须有根元素
    2.XML 文档必须有关闭标签
    3.XML 标签对大小写敏感
    4.XML 元素必须被正确的嵌套
    5.XML 属性必须加引号
    待学习(http://www.w3school.com.cn/xml/xml_dtd.asp .dtd文档规范 XML Schema教程)
xml验证器:
    1.使用w3c的验证器(http://www.w3school.com.cn/xml/xml_validator.asp)
    2.使用DTD来验证
        <xml version="1.0" enconding="utf-8">
        <!DOCTYPE note[
              <!ELEMENT note (to,from,heading,body)>
              <!ELEMENT to      (#PCDATA)>
              <!ELEMENT from    (#PCDATA)>
              <!ELEMENT heading (#PCDATA)>
              <!ELEMENT body    (#PCDATA)>
        ]>
        <note>
            <to>George</to> 
            <from>John</Ffrom> 
            <heading>Reminder</heading> 
            <body>Don't forget the meeting!</body> 
        </note>
        注意:只支持IE验证      

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值