PHP - XML - Collapsing Empty XML Elements

 Use PEAR's XML_Util class:

 

  1. <?php
  2. $xmlData =<<< END
  3. <?xml version="1.0" encoding="UTF-8"?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  5. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7.  <head></head>
  8.  <body>
  9.   <div>Content here.</div>
  10.   <p></p>
  11.   <div>Content here.</div>
  12.  </body>
  13. </html>
  14. END;
  15. // include class
  16. include "XML/Util.php";
  17. // collapse empty tags and print
  18. echo XML_Util::collapseEmptyTags($xmlData);
  19. ?>

Comments

For elements that have no content, such as <name></name>, the XML specification suggests the use of empty-element tags, such as <name />. Available from http://pear.php.net/package/XML_Util, PEAR's XML_Util class provides an automated way to accomplish this change via its collapseEmptyTags() method. One of the most common uses for this method is illustrated in the previous listing: replace HTML's <p></p> sequence with the "better" <p /> sequence.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. range-based for循环 range-based for循环是C++11引入的一种新的循环结构,它可以简化对容器和数组等数据结构的遍历。其语法形式如下: ``` for (declaration : range_expression) statement ``` 其中,declaration是一个变量声明,range_expression是一个表示要遍历的数据结构的表达式,statement是循环体中要执行的语句。 range_expression可以是任何具有begin()和end()成员函数的对象,包括STL容器、原生数组、指针等。循环的过程中,declaration将会被自动初始化为range_expression中的每个元素,从而实现遍历。 2. 结构化绑定(structured bindings) 结构化绑定是C++17引入的一种新的语言特性,它可以将一个复杂的数据结构拆分成若干个变量,使得代码更加简洁易读。其语法形式如下: ``` auto [var1, var2, ...] = expression; ``` 其中,var1、var2等表示要绑定的变量名,expression表示要进行拆分的数据结构。 结构化绑定可以用在任何支持解包的上下文中,例如函数返回值、for循环中的迭代器等。 3. 引用折叠(reference collapsing) 引用折叠是C++11引入的一种语言特性,用于规定C++中引用类型的组合方式。其规则如下: - 对于右值引用(Rvalue Reference,T&&),无论与左值引用还是右值引用相结合,都会得到右值引用类型。 - 对于左值引用(Lvalue Reference,T&),在不使用模板特化的情况下,左值引用与左值引用相结合得到左值引用,右值引用与左值引用结合得到右值引用类型。 - 在使用模板特化的情况下,引用折叠规则会发生变化。 引用折叠的主要作用是简化模板编程中的引用类型推导。它也是许多新特性的基础,例如完美转发、可变参数模板等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值