我有这个XML(简化):
object(SimpleXMLElement) {
["p"]=>
array(3) {
...
}
["image"]=>
array(1) {
[0]=>
object(SimpleXMLElement) {
}
}
}
我想从中创建一个可读的文本,所以我用SimpleXMLElement解析它并得到它:
<section>
所有标签都按名称分组,因此我无法确定图片在文本中的位置 - 只是它存在。
问题:有没有办法在[0] => 'p',
[1] => 'p',
[2] => 'img',
[3] => 'p'
中获得标签的确切顺序?像这样:
{{1}}
这样我可以按正确的顺序将它们转换为HTML吗?
答案 0 :(得分:1)
您可以遍历每个<section>
标记的子节点。
// Assumes your string is loaded, e.g.
// $xml = simplexml_load_string($xml_string);
foreach($xml->xpath('//section') as $section) {
foreach($section->children() as $node) {
echo $node->getName(), "\n";
}
}
您可以看到this outputs:
p
p
img
p