欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

XML 基础

程序员文章站 2024-01-03 08:28:16
...

XML:

可扩展标记语言

设计宗旨是为了传输和存储数据(HTML是为了显示数据)

标签需要自定义

XML具有自我表述性

<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

上面的代码没有任何行为,需要编写软件才能够传送、接受、显示这个文档(XML仅仅是文档)


XML用途:

将数据从HTML中分离

简化数据共享(以纯文本的形式存储)

简化数据传输

简化平台更新(不会损失数据)


XML实例:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

第一行是XML声明,定义版本以及编码

<note>是根元素,拥有四个子元素<to>、<from>、<heading>、<body>

XML文档形成一种树结构


XML语法:

必须拥有关闭标签

大小写敏感

文档必须有根元素

属性值必须加引号

实体引用(防止冲突):

XML 基础

注释: <!--注释-->


XML的可扩展性:

<note>
<to>George</to>
<from>John</from>
<body>Don't forget the meeting!</body>
</note> 

输出结果:

XML 基础

扩展新的XML代码后,仍然可以正常执行


XML属性:

用于提供额外的信息,通常不属于数据组成部分,主要为了便于数据的处理

属性可以使用单引号或者双引号


大部分浏览器都支持XML,对于无效XML文件,浏览器会报告错误


使用XSLT来显示XML:

XML文档:

<!--  Edited with XML Spy v2007 (http://www.altova.com)  -->
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>
two of our famous Belgian Waffles with plenty of real maple syrup
</description>
<calories>650</calories>
</food>
<food>
<name>Strawberry Belgian Waffles</name>
<price>$7.95</price>
<description>
light Belgian waffles covered with strawberries and whipped cream
</description>
<calories>900</calories>
</food>
<food>
<name>Berry-Berry Belgian Waffles</name>
<price>$8.95</price>
<description>
light Belgian waffles covered with an assortment of fresh berries and whipped cream
</description>
<calories>900</calories>
</food>
<food>
<name>French Toast</name>
<price>$4.50</price>
<description>
thick slices made from our homemade sourdough bread
</description>
<calories>600</calories>
</food>
<food>
<name>Homestyle Breakfast</name>
<price>$6.95</price>
<description>
two eggs, bacon or sausage, toast, and our ever-popular hash browns
</description>
<calories>950</calories>
</food>
</breakfast_menu>

XSLT:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited with XML Spy v2007 (http://www.altova.com) -->
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
  <body style="font-family:Arial,helvetica,sans-serif;font-size:12pt;
        background-color:#EEEEEE">
    <xsl:for-each select="breakfast_menu/food">
      <div style="background-color:teal;color:white;padding:4px">
        <span style="font-weight:bold;color:white">
        <xsl:value-of select="name"/></span>
        - <xsl:value-of select="price"/>
      </div>
      <div style="margin-left:20px;margin-bottom:1em;font-size:10pt">
        <xsl:value-of select="description"/>
        <span style="font-style:italic">
          (<xsl:value-of select="calories"/> calories per serving)
        </span>
      </div>
    </xsl:for-each>
  </body>
</html>

结果:

XML 基础

XSLT比CSS更加完善



上一篇:

下一篇: