从 simpleXML 中删除节点

发布于 2024-10-15 10:24:24 字数 681 浏览 7 评论 0原文

我正在尝试从 web.config 文件中取消设置节点,但它似乎不起作用。有人知道我做错了什么吗?如果有更好的方法请告诉我?

            $web_config = simplexml_load_file('web.config');

            $nodes = $web_config->children();

            $att_name = 'myMap';
            $value = '1';

            $map_node = $nodes[0]->xpath( sprintf('rewrite/rewriteMaps/rewriteMap[@name="%s"]/add[@value="%d"]', $att_name, $value) );

            print_r($map_node); // this outpus the correct node

            if (!empty($map_node)) {
                unset($map_node)
            } else {
                printf('No maps with value: "%d" found', $value);
            }

            $web_config->asXML(); 

I'm trying to unset a node from a web.config file but it doesn't seem to be working. Anyone know what I'm doing wrong? If there's a better approche please let me know?

            $web_config = simplexml_load_file('web.config');

            $nodes = $web_config->children();

            $att_name = 'myMap';
            $value = '1';

            $map_node = $nodes[0]->xpath( sprintf('rewrite/rewriteMaps/rewriteMap[@name="%s"]/add[@value="%d"]', $att_name, $value) );

            print_r($map_node); // this outpus the correct node

            if (!empty($map_node)) {
                unset($map_node)
            } else {
                printf('No maps with value: "%d" found', $value);
            }

            $web_config->asXML(); 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北恋 2024-10-22 10:24:24
$web_config = new SimpleXMLElement('web.config',null,true);
$map_node = $web_config->xpath( sprintf('//rewrite/rewriteMaps/rewriteMap[@name="%s"/add[@value="%d"]', 'myMap', 1) );

if (!empty($map_node)) {
    unset($map_node[0][0]);
}

$web_config->asXml() 
$web_config = new SimpleXMLElement('web.config',null,true);
$map_node = $web_config->xpath( sprintf('//rewrite/rewriteMaps/rewriteMap[@name="%s"/add[@value="%d"]', 'myMap', 1) );

if (!empty($map_node)) {
    unset($map_node[0][0]);
}

$web_config->asXml() 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文