PHP 之XML编程,注释总结

xml 是可扩展标记语言,用于保存,传输结构化的数据;

xml规则:

至少有一个标记,不能有空标记,标记必须成对出现,区分大小写(HTML不区分大小写)。

标签的命名规则:以字母、下划线、冒号开头,后面跟字母、数字下划线、冒号、点、连字符。中间不能有空格,不能以XML开头。

注释和HTML的一样:<!--   -->

css注释:/**/

JS 注释:单行注释//      多行注释/**/

php 注释:单行://   或者#   多行注释:/**/

sql语句注释: 单行--     多行/**/

注释不能嵌套使用。

xml的注释不可以放在申明之前:<?xml version="1.0" encoding="UTF-8"?>

使用工具:Altovaxmlspy


===============数据的分类======

PCDATA(parse character data)-------可以解析的字符数据

CDATA------------------------------不解析<a>标签包含的数据,吧a标签当做数据,

<url> <![CDATA[ <a href=" " >个人主页</a>  ]]></url>

==========CDATA中的字符串中不能出现  ]]>

PHP 之XML编程,注释总结

===============实体,项目中预先定义的=======

&quot;==========单引号

&apos;----双引号

&lt;----------------小于

&gt;-------------------大于

&amp;-------------------&


=============

PHP 之XML编程,注释总结

=======================DTD ----document  type  define------------文档类型定义;

<!DOCTYPE 根 SYSTEM “引用的XML文档”>

<!ELEMENT movies (movie+)>----------movie最少出现一次

<!ELEMENT movie (title,actor+,rating*)>

<!ELEMENT title (#PCDATA)>

<!ELEMENT actor(#PCDATA)>

<!ELEMENT rating(#PCDATA)>

+--------------大于等于1;

*---------------大于等于0;

?-------------等于0货等于1;


<!DOCTYPE movies SYSTEM "demo.xml">-------引用外部

内部定义----

<!DOCTYPE movies [

<!ELEMENT movies (movie+)>----------movie最少出现一次

<!ELEMENT movie (title,actor+,rating*)>

<!ELEMENT title (#PCDATA)>

<!ELEMENT actor(#PCDATA)>

<!ELEMENT rating(#PCDATA)>

<!ELEMENT br EMPTY>-----表示br 是空标记

]>


==========ANY表示根下可以放任意子元素,根只能有一个

PHP 之XML编程,注释总结

<!ELEMENT html (body)>

<!ELEMENT strong (#PCDATA)>

<!ELEMENT body (#PCDATA|stronng)*>

PHP 之XML编程,注释总结


================自定义实体========

<!ENTITY bj "背景大学">------自定义实体bj

调用实体--------

PHP 之XML编程,注释总结

=========================属性========

声明元素的时候,元素的数据类型是PCDATA,声明属性的时候,属性数据类型是CDATA;

先有元素,在有属性;

格式如下:

<!ATLIST 元素名称 属性名称数据类型 附加条件  >

<!ATLIST movie id CDATA #REQUIRED >------ #REQUIRED是附加条件,表示必填;#IMPLIED表示可填可不填。

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结

注意:ID的值必须以字母开头,不能是纯数字;


==================参数实体(相当于变量)=============

参数实体就是在普通实体前加上%;

PHP 之XML编程,注释总结

===========命名空间

PHP 之XML编程,注释总结

DTD不支持命名空间;支持的数据类型很少;DTD不可扩展;

schema用来解决DTD的不足;

schema的注意事项:

1.如果一个元元素下有子元素或属性,必须把元素和属性放在复杂元素标记(complexType)下面;

2.如果是子元素,必须放在放在复杂数据类型下的序列标签中(sequeue);属性不能放在序列标签中;


=================PHP中使用XML===========

读取XML中元素的值


PHP 之XML编程,注释总结

DOM文档类型结构:

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结

文档对象模型:

节点的分类:元素节点,属性节点,值节点,注释节点,根节点(就是document文档);

======写入数据到XML===

PHP 之XML编程,注释总结

=========读取XML中的值======

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结

=====nodeType:

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结

格式化输出:$doc->formatOutput=true;

忽略空格:$doc->preserveWhiteSpace=false;

======添加节点和属性==========

PHP 之XML编程,注释总结


PHP 之XML编程,注释总结


注意要用父节点去操作子节点;


==========删除======

PHP 之XML编程,注释总结

===========XPATH============(所有语言通用)

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结



=================simpleXML====(PHP专用,PHP5 以上才有)=====

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结

PHP 之XML编程,注释总结