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

xml笔记

程序员文章站 2024-01-03 08:53:34
...

xml概述

  • xml最主要的功能就是数据传输

  • 其他功能
    1.数据之间的数据传输通讯
    2.配置文件,如:config.xml
    3.存储数据,充当小型数据库,如:date.xml

  • 规范数据格式,使数据具有结构性。

什么是xml

  • 可扩展性标记语言

  • 目的:传输和存储数据,而不是展示数据

  • xml的标签必须自定义,写标签一定要有含义

  • w3c推举的数据传输格式

  • xml和html有哪些不一样
    1.html标签不能自定义,xml必须自定义
    2.html语法不严格xml语法严格,必须是成对标签
    3.html用来展示数据,xml用来传输和存储数据

xml基本语法

语法规则

  • xml必须有根节点 <root></root>
  • 建议写头声明
  • 必须成对标签
  • 大小写敏感

属性

  • 解析会带来额外解析代码,较为麻烦

CDATA

  • 特殊字符较少时使用实体替换,较多时使用CDATA,CDATA必须大写

php解析xml

xml是一种数据传输格式,当php接受到的数据是一段xml时候,php5版本后提供了一个SimpleXML类,用于实现xml文档的解析操作

xml原理解析

  • php解析xml共3步
    1.读取xml文档到内存
    2.形成DOM树
    3.由DOM树生成对象并返回

SimpleXML类库

xml笔记

  1. 调用simple_load_file()函数,解析生成的对象
  2. php将xml节点以属性的形式存放
  3. 内容若有多条,以数组形式存放
  4. 数组的值就是解析后的节点名字和内容,以对象属性的形式存放

遍历xml数据

//simple_load_file解析xml文档,返回php对象
$xml = simplexml_load_file('test.xml');

foreach ($xml->man as $v){
    echo $v->name."<br/>";
}

for ($i=0;$i<count($xml);$i++){
    echo $xml->man[$i]->name."<br/>";
}

添加节点

//simple_load_file解析xml文档,返回php对象
$xml = simplexml_load_file('test.xml');

//对象中的addChild方法创建节点
$man = $xml->addChild('man');
//给创建后的节点添加内容
$man->addChild('name','tho Third');
$man->addChild('age','34');
echo "<pre>";
var_dump($xml);
//将添加后的内容重新解析成xml文档,写入文件
$xml->asXML('test.xml');

可以将网络数据xml用file_get_content()读成字符串,再用simple_load_file()获取xml字符串数据

Xpath语言

  • Xpath是专门用来查找xml数据的一门语言,用来在xml文档中的元素和属性进行遍历

使用及语法

  • 绝对路径
//simple_load_file解析xml文档,返回php对象
$xml = simplexml_load_file('test.xml');

//Xpath查找后返回数组,数组中的值仍是个对象
$p = $xml->xpath('/project/man/name');//参数为路径,以/开始的为绝对路径
echo "<pre>";
var_dump($p);
foreach ($p as $v){
    echo $v."<br/>";
}
  • 相对路径
//simple_load_file解析xml文档,返回php对象
$xml = simplexml_load_file('test.xml');

//Xpath查找后返回数组,数组中的值仍是个对象
$p = $xml->xpath('//man/*');//双//为相对路径,此为man节点下的所有子节点
$b = $xml->xpath('//man[age>20]');
echo "<pre>";
var_dump($p);
相关标签: xml

上一篇:

下一篇: