使用 simplexml 删除节点 [英] Delete node with simplexml

查看:48
本文介绍了使用 simplexml 删除节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个 xhtml:

I have this xhtml :

<?xml version="1.0" encoding="UTF-8"?>
<html>
    <head>
        <meta charset="utf-8"></meta>
    </head>
    <body>
        <nav>
            <ol>
                <li>
                    <a href="cover.xhtml">Cover</a>
                </li>
                <li>
                    <a href="page002.xhtml">P002</a>
                </li>
                <li>
                    <a href="page005.xhtml">P005</a>
                </li>
                <li>
                    <a href="page038.xhtml">P038</a>
                </li>
            </ol>
        </nav>
    </body>
</html>

我在 php 中这样做:

I do this in php :

  copy("nav.xhtml", "nav.xml");
  $doc1 = simplexml_load_file("nav.xml");
  foreach($doc1->body->nav->ol->li->a as $seg){ 
       $dom=dom_import_simplexml($seg);
       $dom->parentNode->removeChild($dom);
  }
  $doc1->asXml("nav.xhtml"); 

结果,只删除了拳头.我想全部删除.为什么不正确?

In result, just the fist is deleted. I would like to delete all . Why it's not correct?

谢谢.

推荐答案

试试这个.

foreach($xml->body->nav->ol->li as $items)
{
    unset($items->a);
}

这篇关于使用 simplexml 删除节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆