我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

使用PHP删除空XML标记但忽略带有属性的标记

I know its possible to remove empty XML tags using XPath (as seen here - Remove empty tags from a XML with PHP)

$xpath = new DOMXPath($doc);

foreach( $xpath->query('//*[not(node())]') as $node ) {
    $node->parentNode->removeChild($node);
}

$doc->formatOutput = true;
echo $doc->savexml();

but is it possible to use a similar method to still remove empty tags but keep ones that have attributes?

e.g.

<range starts_at="2012-11-22" ends_at="2012-11-26"></range>

Try with this XPath

'//*[not(node()) and not(@*)]'

近期文章

  • 使用PHP解析嵌套的JSON
  • 我无法弄清楚如何更新我的上次登录时间
  • PHP SQL中的检查列为NULL
  • 如何在php中操作复杂的字符串?
  • 仅显示查询表中存在的MySQL列
  • 包含两个没有键的数组的数组
  • 电子邮件html多个选择框值
  • 任何人都可以建议从字符串中找到单词吗?
  • 我如何在mongodb find()游标中返回特定字段?
  • 使用PHP在页面上显示MySQL数据库中的信息
  • PHP错误处理函数或类?
  • PHP多维数组,以表格形式显示数据
  • php空检查param在非空变量上返回false
  • 当来自两个单独表的主键匹配时插入新字段
  • PDO对象超出范围,试图调用Javascript函数
  • PHP MySQL每日结果表
  • 处理即时文本框值
  • 如何在html / php中增加变量
  • 将ajax post请求传递给其他服务器上的php [重复]
  • 为什么我的表单不更新数据库?

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华