PHP 新手入门之XML

1.什么是xml

XML 是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分。您可以创建内容,然后使用限定标记标记它,从而使每个单词、短语或块成为可识别、可分类的信息。您创建的文件,或文档实例 由元素(标记)和内容构成。当从打印输出读取或以电子形式处理文档时,元素能够帮助更好地理解文档。元素的描述性越强,文档各部分越容易识别。自从出现标记至今,带有标记的内容就有一个优势,即在计算机系统缺失时,仍然可以通过标记理解打印出来数据

2.构建xml

如前所述,XML 文件由内容和标记组成。您通过以标记包围内容的方式将大部分内容包含在元素中。例如,假设您需要创建一本 XML 烹饪书。您需要用 XML 编写名为 Ice Cream Sundae 的食谱。为了标记食谱名,您需要将这个文本包含到元素中,即分别在文本的首末两端添加开始和结束标记。可以将元素命名为 recipename。要标记元素的开始标记,像这样将元素名放到尖括号中(<>):<recipename>。然后输入文本Ice Cream Sundae。在文本的后面输入结束标记,即将元素名放在尖括号内,然后在元素名前面加上一个终止斜杠(/),比如:</recipename>。这些标记构成一个元素,您可以在元素的内部添加内容或其他元素。

您可以为某个文档或文档集创建元素名。可以创建规则让元素根据您的特定需求组合起来。元素名可以是比较具有针对性的,也可以是比较通用的。您还可以创建决定添加何种元素的规则。这些规则可以是严格的,也可以是松散的,这完全由您决定。一定要为文档创建元素,以识别您认为重要的部分。

3.创建xml

XML 文档的第一行可以是一个 XML 声明。这是文件的可选部分,它将文件识别为 XML 文件,有助于工具和人类识别 XML(不会误认为是 SGML 或其他标记)。可以将这个声明简单地写成 <?xml?>,或包含 XML 版本(<?xml version="1.0"?>),甚至包含字符编码,比如针对 Unicode 的 <?xml version="1.0" encoding="utf-8"?>。因为这个声明必须出现在文件的开头,所以如果打算将多个小的 XML 文件合并为一个大 XML 文件,则可以忽略这个可选信息

4.创建根元素

根元素的开始和结束标记用于包围 XML 文档的内容。一个文件只能有一个根元素,并且需要使用 “包装器” 包含它。清单 1 显示了经过删节的示例,其中的根元素名为 <recipe>。(参见 下载 小节获得完整的 XML 文件)。

5.命名元素

到目前为止,都使用 <recipe> 作为根元素。在 XML 中,先要为元素选择名称,然后再根据这些名称定义相应的 DTD 或 schema。创建名称时可以使用英文字母、数字和特殊字符,比如下划线(_)。下面给出命名时需要注意的地方:

· 元素名中不能出现空格。

· 名称只能以英文字母开始,不能是数字或符号。(在第一个字母之后就可以使用字母、数字或规定的符号,或它们的混合)。

· 对大小写没有限制,但前后要保持一致,以免造成混乱。

我们继续以前面的示例为例,如果添加了名为 <recipename> 的元素,它将有一个开始标记 <recipename> 和相应的结束标记</recipename>。

6.嵌套元素

嵌套 即把某个元素放到其他元素的内部。这些新的元素称为子 元素,包含它们的元素称为父 元素。<recipe> 根元素中嵌套有几个其他元素,如 清单 3 所示。这些嵌套的子元素包括 <recipename>、<ingredlist> 和 <preptime>。<ingredlist> 元素内部包含多个子元素 <listitem>。XML 文档可以使用多层嵌套。

一个常见的语法错误是父元素和子元素的错误嵌套。任何子元素都要完全包含在其父元素的开始和结束标记内部。每个同胞(Sibling)元素必须在下一个同胞元素开始之前结束

<?xml version="1.0" encoding="UTF-8"?>
<recipe>
<recipename>Ice Cream Sundae</recipename>
<ingredlist>
<listitem>
<quantity>3</quantity>
<itemdescription>chocolate syrup or chocolate fudge</itemdescription>
</listitem>
<listitem>
<quantity>1</quantity>
<itemdescription>nuts</itemdescription>
</listitem>
<listitem>
<quantity>1</quantity>
<itemdescription>cherry</itemdescription>
</listitem>
</ingredlist>
<preptime>5 minutes</preptime>
</recipe>

7.带有元素和属性的xml文件

<?xml version="1.0" encoding="UTF-8"?>
<recipe type="dessert">
<recipename cuisine="american" servings="1">Ice Cream Sundae</recipename>
<preptime>5 minutes</preptime>
</recipe>


继续学习
||
<?php echo "欢迎学习xml"; ?>
提交重置代码