php-删除节点并保留其内容
我有这样的xml:php-删除节点并保留其内容,php,xml,Php,Xml,我有这样的xml: <parent> <0> <url> <loc>name1</loc> <date>monthly</date> </url> </0> <1> <url> <loc>alexJones</loc> <date>monthly&
<parent>
<0>
<url>
<loc>name1</loc>
<date>monthly</date>
</url>
</0>
<1>
<url>
<loc>alexJones</loc>
<date>monthly</date>
</url>
</1>
</parent>
我想删除,新的xml将是:
<parent>
<url>
<loc>name1</loc>
<date>monthly</date>
</url>
<url>
<loc>alexJones</loc>
<date>monthly</date>
</url>
</parent>
我已经知道我可以使用xml->children检索xml节点,
但是有什么建议吗?这是一个无效的XML,libxml不会加载它。因此,这可能是对XML字符串使用正则表达式有效的例外之一
$repairedXml = preg_replace('(</?\\d+>)', '', $invalidXml);
该模式匹配一个只包含数字而不包含属性的标记
这些标记名无效,标记名不能以数字开头 如果知道节点的名称或至少知道节点的模式,可以使用str_replace或preg_replace