栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在PHP的SimpleXML中,删除具有特定属性的子级

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在PHP的SimpleXML中,删除具有特定属性的子级

尽管SimpleXML提供了一种删除XML节点的方法,但其修改功能还是受到一定限制。另一种解决方案是使用DOM扩展。dom_import_simplexml()将帮助您将转换

SimpleXMLElement
DOMElement

只是一些示例代码(经过PHP 5.2.5测试):

$data='<data>    <seg id="A1"/>    <seg id="A5"/>    <seg id="A12"/>    <seg id="A29"/>    <seg id="A30"/></data>';$doc=new SimpleXMLElement($data);foreach($doc->seg as $seg){    if($seg['id'] == 'A12') {        $dom=dom_import_simplexml($seg);        $dom->parentNode->removeChild($dom);    }}echo $doc->asXml();

输出

<?xml version="1.0"?><data><seg id="A1"/><seg id="A5"/><seg id="A29"/><seg id="A30"/></data>

顺便说一句:使用XPath(SimpleXMLElement->xpath)时,选择特定节点要简单得多:

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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405404.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号