我有这样的xml:
<parent>
<0>
<url>
<loc>name1</loc>
<date>monthly</date>
</url>
</0>
<1>
<url>
<loc>alexJones</loc>
<date>monthly</date>
</url>
</1>
</parent>
我想删除<0></0>
和<1></1>
新的xml将是:
<parent>
<url>
<loc>name1</loc>
<date>monthly</date>
</url>
<url>
<loc>alexJones</loc>
<date>monthly</date>
</url>
</parent>
我已经知道我可以使用xml-&gt; children()来检索xml节点, 但有什么建议吗?
答案 0 :(得分:0)
这是一个无效的XML,libxml不会加载它。因此,这可能是在XML字符串上使用正则表达式有效的例外之一。
$repairedXml = preg_replace('(</?\\d+>)', '', $invalidXml);
模式匹配仅包含数字且没有属性的标记。
这些标记名称无效,标记名称不能以数字开头。