XML 内容到 PHP 变量
XML content into PHP variables
我已经做了好几个小时了,但真的无法正常工作...我在 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 条目都放入变量中。
谢谢。
那是无效的 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>
Copy/Paste每次都会得到你!!!
然后你会得到这个:-
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
的 PHP 简单 XML 元素对象
您现在需要学习如何处理这个对象,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
我已经做了好几个小时了,但真的无法正常工作...我在 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 条目都放入变量中。
谢谢。
那是无效的 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>
Copy/Paste每次都会得到你!!!
然后你会得到这个:-
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