php解析简单的xml属性

时间:2011-06-15 21:23:42

标签: php xml simplexml

我在使用xml文件时遇到了一些问题,我在网站和网站上找到了各种各样的示例/指南,但我似乎看不到这样的:

我有一个像这样的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<items item1="1" item2="2" item3="3" item4="4"/>
<items item1="1" item2="2" item3="3" item4="4"/>
<items item1="1" item2="2" item3="3" item4="4"/>
</root>

我在尝试之前和之后都没有看到过这样的数据:

<?php

$obj = simplexml_load_string("sample.xml");
print_r($obj);
?>

我收到错误:

Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found

我已经通过www.xmlvalidation.com上的支票运行了xml文件,所有回来都没问题,我错过了什么吗?

我希望能够在while循环中回显项属性的值。

3 个答案:

答案 0 :(得分:8)

您正在尝试从simplexml_load_string()的文件加载XML,该文件需要输入字符串。相反,请使用simplexml_load_file()

$obj = simplexml_load_file("sample.xml");

答案 1 :(得分:0)

我注意到的一件事是,最后一行的结束标记应该是</root>而不是<root>

答案 2 :(得分:0)

最后的根标签不是结束标记。当我通过你提到的验证器运行这个XML时,它会失败。