使用php浏览此xml结构
我正在尝试循环并显示来自以下xml结构的信息使用php浏览此xml结构,php,xml,simplexml,Php,Xml,Simplexml,我正在尝试循环并显示来自以下xml结构的信息 <users_list> −<users type="array"> +<user> <id>Blah</id> </user> +<user></user> +<user></user> </users> <next_link>6</next_l
<users_list>
−<users type="array">
+<user>
<id>Blah</id>
</user>
+<user></user>
+<user></user>
</users>
<next_link>6</next_link>
<prev_link>4</prev_link>
</users_list>
我试过几种变体,但看不出有任何效果。我要么在回显变量时什么也得不到,要么在我的foreach
函数上无效的参数print\r($xml)
应该能提供您所需的所有信息。
您可能会发现实际数组是$xml->user\u list->users->user,
此外,铸造有助于节省一些时间
foreach($xml->user_list->users->user as $value) {
$name = (string) $value->id;
}
print\r($xml)
应该能为您提供所需的所有信息。
您可能会发现实际数组是$xml->user\u list->users->user,
此外,铸造有助于节省一些时间
foreach($xml->user_list->users->user as $value) {
$name = (string) $value->id;
}
在PHP中进行故障排除时,
var\u dump
和print\r
是您的朋友
如果希望像数组一样浏览结果,请将其强制转换为数组
$value=(数组)$value代码>
我做了以下工作:
$xmlStr = '<users_list>
<users type="array">
<user>
<id>Blah</id>
</user>
<user></user>
<user></user>
</users>
<next_link>6</next_link>
<prev_link>4</prev_link>
</users_list>';
$xml = simplexml_load_string($xmlStr);
foreach($xml->users->user AS $key=>$value){
$value = (array) $value;
$name = $value["id"];
var_dump($name);
}
有关simplexml的更多信息,请查看PHP帮助文档
在PHP中进行故障排除时,var\u dump
和print\r
是您的朋友
如果希望像数组一样浏览结果,请将其强制转换为数组
$value=(数组)$value代码>
我做了以下工作:
$xmlStr = '<users_list>
<users type="array">
<user>
<id>Blah</id>
</user>
<user></user>
<user></user>
</users>
<next_link>6</next_link>
<prev_link>4</prev_link>
</users_list>';
$xml = simplexml_load_string($xmlStr);
foreach($xml->users->user AS $key=>$value){
$value = (array) $value;
$name = $value["id"];
var_dump($name);
}
有关simplexml的更多信息,请查看PHP帮助文档
使用SimpleXML时,应始终以变量包含的根节点命名变量,这会使事情变得更简单和明显:
$users_list = simplexml_load_string(
'<users_list>
<users type="array">
<user>
<id>Blah</id>
</user>
<user></user>
<user></user>
</users>
<next_link>6</next_link>
<prev_link>4</prev_link>
</users_list>'
);
foreach ($users_list->users->user as $user)
{
echo "User ", $user->id, "\n";
}
echo "next: ", $users_list->next_link, "\n";
echo "prev: ", $users_list->prev_link, "\n";
$users\u list=simplexml\u load\u字符串(
'
废话
6.
4.
'
);
foreach($users\u list->users->user as$user)
{
回显“User”,$User->id,“\n”;
}
回显“下一步:”,$users\u list->next\u链接,“\n”;
回显“prev:”,$users\u list->prev\u link,“\n”;
使用SimpleXML时,应始终以变量包含的根节点命名变量,这会使事情变得更简单和明显:
$users_list = simplexml_load_string(
'<users_list>
<users type="array">
<user>
<id>Blah</id>
</user>
<user></user>
<user></user>
</users>
<next_link>6</next_link>
<prev_link>4</prev_link>
</users_list>'
);
foreach ($users_list->users->user as $user)
{
echo "User ", $user->id, "\n";
}
echo "next: ", $users_list->next_link, "\n";
echo "prev: ", $users_list->prev_link, "\n";
$users\u list=simplexml\u load\u字符串(
'
废话
6.
4.
'
);
foreach($users\u list->users->user as$user)
{
回显“User”,$User->id,“\n”;
}
回显“下一步:”,$users\u list->next\u链接,“\n”;
回显“prev:”,$users\u list->prev\u link,“\n”;
请注意,print_r()和var_dump()与SimpleXMLElement的配合不太好,子项不会出现,某些属性也不会出现。请注意,print_r()和var_dump()与SimpleXMLElement的配合不太好,子项不会出现,某些属性也不会出现。警告:为foreach()提供的参数无效在functions.php的第55行数组中——这就是我使用此方法时得到的结果。我发布的代码按原样工作。我猜您的变量没有命名为$users\u list。尝试错误报告(E\u ALL)代码>警告:为functions.php第55行数组中的foreach()提供的参数无效——这是我使用此方法时得到的结果。我发布的代码按原样工作。我猜您的变量没有命名为$users\u list。尝试错误报告(E\u ALL)代码>