Php解析xml

528 阅读1分钟

小知识,大挑战!本文正在参与“       程序员必备小知识

最近在维护之前项目的代码,原来的项目是php 写的,但是好久没写过php,项目的需求是读取xml数据加载到内存中使用,极少使用php 的我还是有点懵逼的,所以记录一下,防止下次遇到的时候又不会写了,好了,废话不多说,开始吧。

SimpleXML 把 XML 文档转换为对象,比如: 元素 - 被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时,它们会被置于数组中。 属性 - 通过使用关联数组进行访问,其中的下标对应属性名称。 元素数据 - 来自元素的文本数据被转换为字符串。如果一个元素拥有多个文本节点,则按照它们被找到的顺序进行排列。 当执行类似下列的基础任务时,SimpleXML 使用起来非常快捷: 读取 XML 文件 从 XML 字符串中提取数据 编辑文本节点或属性

<?xml version="1.0" encoding="utf-8"?>   
<phplamp>   
<post>   
<title id="1">PHP XML处理介绍一</title>   
<details>详细内容一</details>   
</post>   
<post>   
<title id="2">PHP XML处理介绍二</title>   
<details>详细内容二</details>   
</post>   
<post>   
<title id="3">PHP XML处理介绍三</title>   
<details>详细内容三</details>   
</post>   
</phplamp> 

attributes() 获得属性

<?php   
/**   
* 加载Xml文件   
*/   
$xml = simplexml_load_file("text.xml");   
/**   
* 如果Xml为字符串的话可以用下面这个
方法,后面的使用方法一样   
* $xml = simplexml_load_string   
*/   
/**   
* 遍历$xml对象   
*/   
foreach ($xml as $key => $value) {   
// 获取属性   
$attr = $value->title->attributes();   
echo "Id: " . $attr['id'] . "</br>";   
echo "Title: " . $value->title . "</br>";   
echo "Details: " . $value->details 
. "</br></br>";   
}   
?>  

总结:时候看来还是很简单的,php 果然是世界上最好的语言,哈哈,挺简单的