【发布时间】:2018-12-04 06:51:45
【问题描述】:
我有一个xml文件slider.xml,里面有html代码:
<?xml version="1.0" encoding="UTF-8"?>
<content>
<title>Slider</title>
<head>
<script async="async" src='ws-custom/plugins/slider.js'></script>
<script async="defer" src='ws-custom/plugins/functions.js'></script>
</head>
<footer>
<script async="defer" src='ws-custom/plugins/jquery.js'></script>
</footer>
</content>
在 PHP 中,我想: 1.加载它(使用simplexml、dom或其他更好的解决方案)并存储在一个变量$xml中; 2. 创建一个数组 $head 与 $xml->head->children(); 3.返回$head[0]和$head[1]的原始html代码。
我已尝试使用此代码:
$xml = simplexml_load_file('slider.xml');
$head = $xml->head->children();
foreach($head as $element){
echo $element->asXML();
}
但它返回自闭合标签:
<script async="async" src="ws-custom/plugins/slider.js"/>
<script async="defer" src="ws-custom/plugins/functions.js"/>
这不是 W3C http://validator.w3.org/nu/ 的有效 html 代码
我也希望能够只写异步,即 因为它是有效的 html,但使用 simplexml 它不是有效的 xml。
非常感谢。 最好的问候。
【问题讨论】:
-
$xml = new DOMDocument();的目的是什么?你会立即覆盖变量,所以第一个赋值是没用的。