您的位置:首页 > 编程语言 > PHP开发

php xmlsimpleelement 解析xml

2014-08-23 16:37 323 查看
与 DOM 或 Expat 解析器相比,SimpleXML 仅仅用几行代码就可以从元素中读取文本数据。

SimpleXML 可把 XML 文档转换为对象,比如:

元素 - 被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时,它们会被置于数组中。

属性 - 通过使用关联数组进行访问,其中的下标对应属性名称。

元素数据 - 来自元素的文本数据被转换为字符串。如果一个元素拥有多个文本节点,则按照它们被找到的顺序进行排列。

当执行类似下列的基础任务时,SimpleXML 使用起来非常快捷:

读取 XML 文件

从 XML 字符串中提取数据

编辑文本节点或属性

简单的xml用此方式解析更简单

<?xml version="1.0" encoding="UTF-8"?>
<notes>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<note>
<to>George2</to>
<from>John2</from>
<heading>Reminder2</heading>
<body>Don't forget the meeting!2</body>
</note>
<instances>
<instance st="192.168.234.121" />
<instance st="192.168.234.28" />
</instances>
</notes>


解析方法

function parse1()
{
$xml = simplexml_load_file("test.xml");
// echo $xml->note->to;
foreach ($xml->note as $note) { // 不要写根节点了,$xml->notes->note 是错误 的
echo $note->to . "<br>\n";
echo $note->from . "<br>\n";
echo $note->heading . "<br>\n";
echo $note->body . "<br>\n";
echo "-------------" . "<br>\n";
}
foreach ($xml->instances->instance as $note) {
echo $note['st'] . "<br>\n"; // st是属性
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: