我的XML文件是:
<?xml version="1.0" encoding="UTF-8"?>
<item>
<title>Hello</title>
<link>http://www.google.com</link>
</item>
<item>
<title>Some Title</title>
<link>http://www.google.com</link>
</item>
我想从xml文件中获取此数组:
0 =>
array
'title' => string 'Hello' (length=5)
'link' => string 'http://www.google.com' (length=21)
1 =>
array
'title' => string 'Some Title' (length=10)
'link' => string 'http://www.google.com' (length=21)
有可能吗?如果是这样,有人可以帮助我吗?
干杯!
答案 0 :(得分:0)
您的XML格式不正确。由于标记是文档中的第一个,因此以下&lt; / item&gt;根据规范有效地终止文档。您需要添加一个包含&lt; item&gt;的其他标记,例如&lt;文件&GT;&LT;项目&GT; ...&LT; /项目&GT;&LT;项目&GT; ...&LT; /项目&GT;&LT; /文件&GT;
要简单地在PHP中处理,请使用simplexml,例如:
<?php
$xml=<<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<document>
<item>
<title>Hello</title>
<link>http://www.google.com</link>
</item>
<item>
<title>Some Title</title>
<link>http://www.google.com</link>
</item>
</document>
EOD;
$sxml = simplexml_load_string($xml);
var_dump($sxml);
请注意,simplexml默认返回对象而不是数组值。但是,从对象而不是数组中提取所需的值非常简单。例如:
echo $sxml->item[0]->title;
将使用上述XML输出Hello。