• 技术文章 >后端开发 >XML/RSS教程

    XML教程-用一个例子来学习XML的语法的详情

    黄舟黄舟2017-03-14 16:12:57原创861

    XML的语法规则既很简单,又很严格。这些规则很容易学习,也很容易使用。 正因为如此,创建可读取及操作XML的软件不是一件难事。 一个XML文档的例子 XML使用一种可自我描述的简单的语法。 <?xml version="1.0" encoding="ISO-8859-1&q
    XML的语法规则既很简单,又很严格。这些规则很容易学习,也很容易使用。
    正因为如此,创建可读取及操作XML的软件不是一件难事。一个XML文档的例子
    XML使用一种可自我描述的简单的语法。

    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <note>
    
    <to>Tove</to>
    
    <from>Jani</from>
    
    <heading>Reminder</heading>
    
    <body>Don't forget me this weekend!</body>
    
    </note>


    此文档中的第一行 - XML声明 - 定义了XML的版本和文档中使用的字符编码。在这个例子中,遵守的是XML 1.0规范,并使用了ISO-8859-1字符集
    接下来的一行描述了文档的根元素(就像是在说:“本文档是一个便签”):
    <note>
    接下来的4行描述了根元素的4个子元素(to, from, heading, 以及 body):

    <to>Tove</to>
    
    <from>Jani</from>
    
    <heading>Reminder</heading>
    
    <body>Don't forget me this weekend!</body>


    最后的一行定义了根元素的结尾:
    </note>
    我们可以看到,这个XML文档包含了一个由Jani留给Tove的便签。现在,您应该会同意我们的上述观点,即XML具有完美的自我描述特性。 所有元素都须有关闭标签
    当使用XML时,省略关闭标签是非法。
    在HTML中,某些元素不一定要有关闭标签。在HTML中下面的代码是合法的:

    <p>This is a paragraph
    
    <p>This is another paragraph


    在XML中,所有的元素都要有关闭标签:

    <p>This is a paragraph</p>
    
    <p>This is another paragraph</p>


    注释:您也许已经从上面的例子中注意到XML声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是XML元素,也不需要关闭标签。 XML标签对大小写敏感
    和HTML不同,XML标签对大小写敏感。
    在XML中,标签<Letter>和标签<letter>是不同的。
    所以必须使用相同的大小写打开并关闭标签:
    <Message>这是错误的。</message> <message>这是正确的。</message> XML必须被正确地嵌套
    不正确的标签嵌套对XML是没有意义的。
    在HTML中,某些元素可以不正确地彼此嵌套在一起,就像这样:

    <b><i>This text is bold and italic</b></i>


    在XML中,所有的元素必须正确地彼此嵌套,就像这样:
    <b><i>This text is bold and italic</i></b> XML文档必须有根元素
    所有的XML必须包含可定义根元素的单一标签对。
    所有其他的元素都必须处于这个根元素内部。
    所有的元素均可拥有子元素。子元素必须被正确地嵌套于它们的父元素内部:

    <root>
    
      <child>
    
        <subchild>.....</subchild>
    
      </child>
    
    </root> 
    
    
    
    
    
    XML的属性值须加引号


    在XML中,省略属性值两旁的引号是非法的。
    和HTML类似,XML也可拥有属性(名称/值的对)。在XML中,XML的属性值须加引号。请研究下面的两个XML文档。第一个是错误的,第二个是正确的:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <note date=12/11/2002>
    
    <to>Tove</to>
    
    <from>Jani</from>
    
    </note>
    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <note date="12/11/2002">
    
    <to>Tove</to>
    
    <from>Jani</from>
    
    </note>


    在第一个文档中,日期属性没有加引号。这是正确的:date="12/11/2002"。这是错误的:date=12/11/2002。 在XML中,空格会被保留。
    在XML中,空格不会被截掉。
    这与HTML不同。在HTML中,像这样的一个句子:

    Hello              my name is Tove,


    会显示为这样:

    Hello my name is Tove,


    这是由于HTML会把多个连续的空格字符裁减为一个。 在XML中,CR / LF会被转换为LF
    在XML中,一个新的行(即换行)被存储为LF(Line Feed,换行)。
    您熟悉打字机吗?打字机是上世纪用来制造印刷文档的机械设备。:-)
    当您用打字机键入了一行文字后,就需要手动将打印滑架移至左侧页边空白的位置,并手动进纸(feed)一行。
    在 Windows 应用程序中,新行通常存储为一对字符:回车(CR)和换行(LF)。这个字符对与打字机的设置新行的动作有异曲同工之处。在Unix应用程序中,新行通常存储为LF字符。而Macintosh应用程序仅使用CR字符来存储新行。 XML中的注释
    在XML中书写注释的语法与HTML的语法类似:

    <!-- This is a comment -->
    
    
    
    
    
    XML没什么特殊之处


    XML没什么特殊之处。它只是带有被括在角形括号中的标签的纯文本而已。
    可处理纯文本文件的软件也可以处理XML。在一个简单的文本编辑器中,XML标签也可被显示出来,不会被特殊地对待。
    在可识别XML的(XML-aware)应用程序中,XML标签会被专门处理。根据不同的应用程序种类,这些标签也许会/也许不会被看到,又或许拥有某种功能意义。

    以上就是XML教程-用一个例子来学习XML的语法的详情的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:XML,语法
    上一篇:XML教程-XML的用途介绍 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 详细介绍xml的语法的使用和学习• XML数据读取方式性能比较(一)• C#对XML读写的代码实例• 具体介绍历数Firefox2.0对XML处理的改进的代码实例(图)• XML和Tomcat的入门知识的详细介绍
    1/1

    PHP中文网