合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
### **xml的介绍** * 什么是xml文件? xml即可扩展标记语言(e**X**tensible**M**arkup**L**anguage) XML 被设计用来传输和存储数据。 XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。 ### **xml的声明** * xml文档声明 ` <?xml version=”1.0” encoding=”utf-8” ?>` **【注意**】:声明必须放在第一行 ### **XMl树结构(DOM)** * XML 文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶"。 ``` <?xml version=“1.0” encoding=“UTF-8”?> //文档声明 <user> //根元素 <name>liudehua</name> //子元素 <age>33</age> //子元素 </user> ``` ### **xml的语法** * 标签的规则 1. XML 文档必须有根元素 2. 至少需要一个元素 XML标签是区分大小写(HTML不区分大小写) 3. 不允许空标记存在,所有的标记必须成对 4. 标签的嵌套要正确 5. 标签成对存在并且闭合 * 注释 `<!-- 注释内容--> ` ### **xml元素** `<name id=“name”>liudehua </name>` * 分析 1. name 标签名 2. id 属性 3. liudehua 文本内容 * 标签名命名规则: 1. 名称可以包含字母、数字以及其他的字符 ### **CDATA** * 什么是cdata?CDATA(character data)字符数据,不会由解析器解析 像 “<” 和 “&” 字符在 XML 元素中都是非法的。相当于转义 `<! [CDATA[ 内容 ]] > ` ### **DomDocument 类库操作xml** * **生成xml文件** ``` $xml = new DOMDocument("1.0","UTF-8"); //实例化xml对象 $user=$xml->createElement('user'); //创建一个节点 $name=$xml->createElement('name','vanvan'); $age=$xml->createElement('age','18'); //第一个参数节点名 第二个参数节点值 可以不加 根节点 $xml->formatOutput = true; //属性 为true 格式化输出 $user->appendChild($name); $user->appendChild($age); $xml->appendChild($user); //添加节点 $xml->save('van.xml'); //保存到文件 xml ``` * **读取xml文件** ``` $doc = new DOMDocument(); $doc->load("van.xml"); //获取标签对象 $name=$doc->getElementsByTagName("name"); //输出第一个中的值 echo $name->item(0)->nodeValue; $str ="<user> <name>venven</name> <age>18</age> </user>"; $doc->loadXml($str); //$str xml的字符串 $name=$doc->getElementsByTagName("name"); //输出第一个中的值 echo $name->item(0)->nodeValue; ``` ### **simpleXML** ``` $user = simplexml_load_file("van.xml");//文件 echo $user->name; $str="<user> <name>旺旺啊</name> <age>18</age> </user>"; $user = simplexml_load_string($str); //字符串 echo $user->name; ```