PHP SimpleXML解析器子级
我如何使用PHP SimpleXML解析器响应John和Mike?当两者都有不同的项目时PHP SimpleXML解析器子级,php,xml-parsing,simplexml,Php,Xml Parsing,Simplexml,我如何使用PHP SimpleXML解析器响应John和Mike?当两者都有不同的项目时 <DATA> <KEY> <item0> <RTS>John</RTS> </item0> <item1> <RTS>Mike</RTS> </item1> </KEY> </DATA> 约翰 迈克
<DATA>
<KEY>
<item0>
<RTS>John</RTS>
</item0>
<item1>
<RTS>Mike</RTS>
</item1>
</KEY>
</DATA>
约翰
迈克
这是可行的,但如果您尝试使用$xml=simplexml\u load\u文件(“example.xml”)或die(“错误:对象创建失败”) 它不适用于简单的加载文件
<?php
$xml =
"<?xml version='1.0' encoding='UTF-8'?>
<DATA>
<KEY>
<item0>
<RTS>John</RTS>
</item0>
<item1>
<RTS>Mike</RTS>
</item1>
</KEY>
</DATA>";
function xml2array($xml)
{
$arr = array();
foreach ($xml as $element)
{
$tag = $element->getName();
$e = get_object_vars($element);
if (!empty($e))
{
$arr[$tag] = $element instanceof SimpleXMLElement ? xml2array($element) : $e;
}
else
{
$arr[$tag] = trim($element);
}
}
return $arr;
}
$xml = new SimpleXMLElement($xml);
$data = xml2array($xml);
foreach ($data as $key => $value) {
foreach ($value as $key1 => $val1) {
echo $val1['RTS']; echo "<br/>";
}
}
?>
$value){
foreach($key1=>$val1){
echo$val1['RTS'];echo“
”;
}
}
?>
效果很好,但当我加载文件时,它不起作用。效果很好,但当我添加此文件时,它不起作用$xml=simplexml_load_文件(“file.xml”)或die(“错误:对象创建失败”);检查您的apache配置<代码>phpinfo()。是否安装了libxml?是的,它的安装效果很好,但是如果您尝试使用:$xml=simplexml\u load\u file(“sample.xml”)或die(“错误:对象创建失败”);它不会工作,但当我加载文件时它不工作。它工作得很好,但当我添加它时它不工作$xml=simplexml_load_文件(“file.xml”)或die(“错误:对象创建失败”);检查您的apache配置<代码>phpinfo()。是否安装了libxml?是的,它的安装效果很好,但是如果您尝试使用:$xml=simplexml\u load\u file(“sample.xml”)或die(“错误:对象创建失败”);它不起作用。你能提供你迄今为止尝试过的代码吗?只是添加了代码。你能提供你迄今为止尝试过的代码吗?只是添加了代码
<?php
/// load your external xml file here////
if (file_exists('file.xml')) {
$xml = simplexml_load_file('file.xml');
// $xml = new SimpleXMLElement($xml);
$data = xml2array($xml);
foreach ($data as $key => $value) {
foreach ($value as $key1 => $val1) {
echo $val1['RTS']; echo "<br/>";
}
}
} else {
exit('Failed to open test.xml.');
}
function xml2array($xml)
{
$arr = array();
foreach ($xml as $element)
{
$tag = $element->getName();
$e = get_object_vars($element);
if (!empty($e))
{
$arr[$tag] = $element instanceof SimpleXMLElement ? xml2array($element) : $e;
}
else
{
$arr[$tag] = trim($element);
}
}
return $arr;
}
?>