首页 >后端开发 >php教程 >如何使用 PHP 删除 SimpleXML 中具有给定属性的特定子元素?

如何使用 PHP 删除 SimpleXML 中具有给定属性的特定子元素?

Patricia Arquette
Patricia Arquette原创
2024-12-15 13:46:20277浏览

How to Remove a Specific Child Element with a Given Attribute in SimpleXML Using PHP?

使用 PHP 的 SimpleXML 删除具有属性的特定子元素

在 SimpleXML 中,使用 unset() 直接删除子元素可能效果不佳。要消除具有特定属性的特定子元素(例如 id 为“A12”的元素),请考虑使用 DOM 扩展。

使用 DOM 的解决方案

  1. 使用以下命令将 SimpleXMLElement 导入 DOMElement dom_import_simplexml().
  2. 使用 $dom->parentNode->removeChild($dom) 从其父元素中删除子元素。

示例代码

$data = '<data><seg>

输出

<?xml version="1.0"?>
<data><seg>

XPath 替代方案

或者,使用 XPath 简化节点选择,如以下代码所示:

$segs = $doc->xpath('//seq[@id="A12"]');
if (count($segs) >= 1) {
    $seg = $segs[0];
}

// Removal procedure as described above

以上是如何使用 PHP 删除 SimpleXML 中具有给定属性的特定子元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn