Php 如何检索xml中所有元素中的所有数据?
我在php中获取xml数据时遇到问题 我的xml相当复杂,标记中有几个嵌套的子项 xmlPhp 如何检索xml中所有元素中的所有数据?,php,xml,simplexml,Php,Xml,Simplexml,我在php中获取xml数据时遇到问题 我的xml相当复杂,标记中有几个嵌套的子项 xml ?xml version=“1.0”encoding=“UTF-8”> 考试题目 内容1 机会。 测试数据。 2008 …更多元素 更多内容。。 我的密码 //I need to load many different xml files. $xml_file = simplexml_load_file($filename); foreach ($xml_file->chil
?xml version=“1.0”encoding=“UTF-8”>
考试题目
内容1
机会。
测试数据。
2008
…更多元素
更多内容。。
我的密码
//I need to load many different xml files.
$xml_file = simplexml_load_file($filename);
foreach ($xml_file->children() as $child){
echo $child->getName().':'. $child."<br>";
}
//我需要加载许多不同的xml文件。
$xml\u file=simplexml\u load\u文件($filename);
foreach($xml\u file->children()作为$child){
echo$child->getName().:.$child.
;
}
上面的代码只会显示
book、title、figure、ch
但不包括ch
标记内的元素。如何显示每个标记内的所有元素?有什么建议吗?非常感谢 有两件事:
标记$xml_file = simplexml_load_file($filename);
parseXML($xml_file->children());
function parseXML($xml_children)
{
foreach ($xml_children as $child){
echo $child->getName().':'. $child."<br>";
if ($child->count() > 0)
{
parseXML($child->children());
}
}
}
$xml\u file=simplexml\u load\u文件($filename);
parseXML($xml_file->children());
函数parseXML($xml\u子函数)
{
foreach($xml_children作为$child){
echo$child->getName().:.$child.
;
如果($child->count()>0)
{
parseXML($child->children());
}
}
}
两件事:
标记$xml_file = simplexml_load_file($filename);
parseXML($xml_file->children());
function parseXML($xml_children)
{
foreach ($xml_children as $child){
echo $child->getName().':'. $child."<br>";
if ($child->count() > 0)
{
parseXML($child->children());
}
}
}
$xml\u file=simplexml\u load\u文件($filename);
parseXML($xml_file->children());
函数parseXML($xml\u子函数)
{
foreach($xml_children作为$child){
echo$child->getName().:.$child.
;
如果($child->count()>0)
{
parseXML($child->children());
}
}
}
您需要进行恢复呼叫
parseAllXml($xml_file);
function parseAllXml($xmlcontent)
{
foreach($xmlcontent->children() as $child)
{
echo $child->getName().':'. $child."<br>";
$is_further_child = ( count($child->children()) >0 )?true:false;
if( $is_further_child )
{
parseAllXml($child);
}
}
}
parseAllXml($xml\u文件);
函数parseAllXml($xmlcontent)
{
foreach($xmlcontent->children()作为$child)
{
echo$child->getName().:.$child.
;
$is\u further\u child=(count($child->children())>0)?true:false;
如果($是孩子)
{
parseAllXml($child);
}
}
}
您需要进行恢复呼叫
parseAllXml($xml_file);
function parseAllXml($xmlcontent)
{
foreach($xmlcontent->children() as $child)
{
echo $child->getName().':'. $child."<br>";
$is_further_child = ( count($child->children()) >0 )?true:false;
if( $is_further_child )
{
parseAllXml($child);
}
}
}
parseAllXml($xml\u文件);
函数parseAllXml($xmlcontent)
{
foreach($xmlcontent->children()作为$child)
{
echo$child->getName().:.$child.
;
$is\u further\u child=(count($child->children())>0)?true:false;
如果($是孩子)
{
parseAllXml($child);
}
}
}
至少您的
标记不匹配。抱歉,这只是一个输入错误,至少您的
标记不匹配。抱歉,这只是一个输入错误。有一个错误说没有定义hasChildren…+1。请尝试if($child->count()>0)
。有一个错误说没有定义hasChildren…+1。请尝试if($child->count()>0)
。