我已经在这几个小时了,真的无法让它工作......我在xml文件中有以下内容:
<stores data="4850" times="01010101">
<folder info="storage" DateTime="datetime1" update="212121012" versionNumber="ver1" url="http://url1" locater="location1"/>
<folder info="images" DateTime="datetime2" update="1421748774" versionNumber="ver2" url="http://url2" locater="location2"/>
</stores data>
我需要使用PHP将每个元素放入一个不同的变量中。这是我的代码,它获取xml文件并将其打印出来,但在此之后我就陷入了困境。
$xml_ip = simplexml_load_file('file.xml');
print_r($xml_ip);
有了这个,我在屏幕上看到了一个看起来像数组的东西,但是我无法将所有的xml条目都变成变量。
感谢。
答案 0 :(得分:1)
这不是有效的XML,如果你使XML有效,它将起作用
所以将文件更改为
<stores data="4850" times="01010101">
<folder info="storage" DateTime="datetime1" update="212121012" versionNumber="ver1" url="http://url1" locater="location1"/>
<folder info="images" DateTime="datetime2" update="1421748774" versionNumber="ver2" url="http://url2" locater="location2"/>
</stores>
我所做的就是解决这条问题
</stores data>
复制/粘贴每次都能帮到你!!!
然后你会得到这个: -
SimpleXMLElement Object
(
[@attributes] => Array
(
[data] => 4850
[times] => 01010101
)
[folder] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[info] => storage
[DateTime] => datetime1
[update] => 212121012
[versionNumber] => ver1
[url] => http://url1
[locater] => location1
)
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[info] => images
[DateTime] => datetime2
[update] => 1421748774
[versionNumber] => ver2
[url] => http://url2
[locater] => location2
)
)
)
)
回复其他评论
您已将此数据存储在变量中,此行
$xml_ip = simplexml_load_file('file.xml');
创建一个名为$xml_ip
您现在需要了解如何处理此对象here is the documentation
这里有一小段代码可以打印出数据作为先行者。
$xml_ip = simplexml_load_file('file.xml');
echo $xml_ip->attributes()['data'] . PHP_EOL;
echo $xml_ip->attributes()['times'] . PHP_EOL;
foreach ( $xml_ip->folder as $xmlEltObj ) {
foreach ($xmlEltObj->attributes() as $attr => $val) {
echo ' '. $attr . " = " . $val.PHP_EOL;
}
}
打印
4850
01010101
info = storage
DateTime = datetime1
update = 212121012
versionNumber = ver1
url = http://url1
locater = location1
info = images
DateTime = datetime2
update = 1421748774
versionNumber = ver2
url = http://url2
locater = location2