我有一个XML文件,如下所示。我想用PHP解析这个XML文件。
<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>
我希望输出格式为:
Id1=195002349 Id2=374487611 Id3=192983648 Id4=168378766 Id5=161573001
答案 0 :(得分:0)
在阅读XML(使用SimpleXMLElement($file)
)时,使用XPath搜索“ids”,并执行while
循环以阅读元素的文本。
像这样:
$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);
答案 1 :(得分:0)
这是一个方便的小函数,用于去除两个指定文本片段之间的字符串。这可以用于解析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)