快速学习一下XML

Categories: 网站相关
Tags: , ,
Comments: 1 Comment
Published on: 2011 年 12 月 08 日

标记性语言,大家都懂的,没什么学的,很简单。。。。做个记录吧,也想快速看一眼的童鞋也可以看看的,一般都弄的比较重点的和精简的。还是在w3school看,比较快。学的快但是用熟是需要时间的,没必要自习记标签的,在用的过程中自然就记住了,所以需要做的就是指导XML能干什么,到时候记不清楚再搜一下就OK,一点标记语言的拙见。

XML 被设计用来传输和存储数据。XML 指可扩展标记语言(EXtensible Markup Language)

HTML 被设计用来显示数据。

XML一般无所谓,储存数据的。XML 被设计用来结构化、存储以及传输信息。XML 允许创作者定义自己的标签和自己的文档结构。类似html的标签,但是没有标准,可以自己随便起名字。

XML一大优势是纯文本储存数据,大家可以自己考虑,跨平台啊,不需要考虑数据库的不同啊,调取语言的问题什么的。

通过 XML,数据能够存储在独立的 XML 文件中。这样你就可以专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。通过使用几行 JavaScript,你就可以读取一个外部 XML 文件,然后更新 HTML 中的数据内容。

一个 XML 文档实例

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的声明,其他标签都是自定义的。这样大家都懂了吧,一个便条从JOHN给GEORGE,很容易看懂。和html一样闭合标签就OK了。

另外需要记住的是XML对大小写敏感,嵌套也要正确嵌套,属性同样的需要引号,还有类似的‘<’,' “ '等符号,需要像html一样转义 (>符号是合法的),注释雷同html,多空格会被保留。

XML 以 LF 存储换行:

在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Unix 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。

XML 命名规则

XML 元素必须遵循以下命名规则:

  • 名称可以含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字符 “xml”(或者 XML、Xml)开始
  • 名称不能包含空格

可使用任何名称,没有保留的字词。

XML属性:通常提供不属于数据组成部分的信息。在下面的例子中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要。

验证 XML 文档

合法的 XML 文档是“形式良好”的 XML 文档,同样遵守文档类型定义 (DTD) 的语法规则:

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

在上例中,DOCTYPE 声明是对外部 DTD 文件的引用。下面的段落展示了这个文件的内容。

XML DTD

DTD 的作用是定义 XML 文档的结构。它使用一系列合法的元素来定义文档结构:

<!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>
这个DTD需要另外学习,先放这里。继续XML。


XML Schema

W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema:
<xs:element name="note">
<xs:complexType>
  <xs:sequence>
    <xs:element name="to"      type="xs:string"/>
    <xs:element name="from"    type="xs:string"/>
    <xs:element name="heading" type="xs:string"/>
    <xs:element name="body"    type="xs:string"/>
  </xs:sequence>
</xs:complexType>
</xs:element>
这个Schema也需要另外学习,先放这里,继续XML。
好吧,还有一件简单的验证你写的XML正确与否的方式:找个有验证XML的网站,源码传上去验证。
使用css是能够定义XML的样式的,如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
<CATALOG>
  <CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
  </CD>
</CATALOG>
cd_catalog.css文件
CATALOG
{
background-color: #ffffff;
width: 100%;
}
CD
{
display: block;
margin-bottom: 30pt;
margin-left: 0;
}
TITLE
{
color: #FF0000;
font-size: 20pt;
}
ARTIST
{
color: #0000FF;
font-size: 20pt;
}
COUNTRY,PRICE,YEAR,COMPANY
{
display: block;
color: #000000;
margin-left: 20pt;
}


使用 XSLT 显示 XML

XSLT 是首选的 XML 样式表语言。 XSLT (eXtensible Stylesheet Language Transformations) 远比 CSS 更加完善。使用XSLT  的方法之一是在浏览器显示 XML 文件之前,先把它转换为 HTML。XSLT也很简单,给个简单样例详细学 习另找教程。 XML文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="simple.xsl"?>
<breakfast_menu>
  <food>
    <name>Belgian Waffles</name>
    <price>$5.95</price>
    <description>
       two of our famous Belgian Waffles
    </description>
    <calories>650</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>暂告一段落,下边是与js的交互。

我猜你可能也喜欢:

Pages: 1 2 3
1 Comment - Leave a comment
  1. 小马说道:

    可以加你QQ吗?想和你聊聊。呵呵!

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


Welcome , today is 星期二, 2017 年 10 月 24 日