如何在PHP中解析多个类似的XML标记?
我有一个XML文件,如下所示。我想用PHP解析这个XML文件如何在PHP中解析多个类似的XML标记?,php,xml,Php,Xml,我有一个XML文件,如下所示。我想用PHP解析这个XML文件 <id_list> - <ids> <id>195002349</id> <id>374487611</id> <id>192983648</id> <id>168378766</id>` <id>161573
<id_list>
-
<ids>
<id>195002349</id>
<id>374487611</id>
<id>192983648</id>
<id>168378766</id>`
<id>161573001</id>
</ids>
<next_cursor>0</next_cursor>
<previous_cursor>0</previous_cursor>
</id_list>
读取XML时(使用SimpleXMLElement($file)
),使用搜索“ID”,并在执行的同时执行循环以读取元素的文本
像这样:
$notes = new SimpleXMLElement('test2.xml', NULL, true);
$all = array();
$results = $notes->xpath("/id_list/ids/id");
foreach($results as $to){
echo "<br>".$to;
$all[]=(string)$to;
}
print_r($all);
$notes=newsimplexmlement('test2.xml',NULL,true);
$all=array();
$results=$notes->xpath(“/id_list/id/id”);
foreach(结果为$to){
回声“
”$to;
$all[]=(字符串)$to;
}
打印(全部);
这是一个方便的小函数,用于在两个指定文本段之间提取字符串。这可以用于解析XML文本、bbCode或任何其他带分隔符的代码/文本
function get_string_between($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
$fullstring = "this is my [tag]dog[/tag]";
$parsed = get_string_between($fullstring, "[tag]", "[/tag]");
echo $parsed; // (result = dog)
为什么这很方便?它如何回答老年退休金计划的问题?你知道,他们不会让你为了好玩而阅读。提问前请先做研究。
function get_string_between($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
$fullstring = "this is my [tag]dog[/tag]";
$parsed = get_string_between($fullstring, "[tag]", "[/tag]");
echo $parsed; // (result = dog)