Php 带多行注释的simplexml
当使用simplexml通过php进行解析时,是否可以在xml中使用多行注释 我试过这个:Php 带多行注释的simplexml,php,xml,xml-parsing,simplexml,Php,Xml,Xml Parsing,Simplexml,当使用simplexml通过php进行解析时,是否可以在xml中使用多行注释 我试过这个: <!-- my comment fsdfs --> 但是得到:评论没有终止 我真的必须: <!-- my comment --> <!-- fsdfs --> 您的示例似乎是有效的XML,不应生成错误。下面的代码经过测试,在PHPV5.4.7中没有生成错误或警告 <?php error_reporting(E_ALL | E_STR
<!--
my comment
fsdfs
-->
但是得到:评论没有终止
我真的必须:
<!-- my comment -->
<!-- fsdfs -->
您的示例似乎是有效的XML,不应生成错误。下面的代码经过测试,在PHPV5.4.7中没有生成错误或警告
<?php
error_reporting(E_ALL | E_STRICT);
$string = <<< EOT
<xml>
<foo>Hello</foo>
<bar>World</bar>
<!-- This is a single line comment. -->
<!--
This is a
multi-line comment.
-->
</xml>
EOT;
$xml = simplexml_load_string($string);
echo '<pre>';
var_dump($xml);
检查一下:是什么解析器给了您这个错误?simplexml似乎不能很好地处理注释。除了simplexml之外,如果这是一个问题,您还可以使用其他API来处理多行注释。我的注释行以
--
开头,这是导致错误的原因。如何将多个选项添加到:simplexml\u load\u文件($filename,'simplexmlement',LIBXML\u NOCDATA)
我想尝试添加:`LIBXML_COMPACT@JohnMagnolia评论中的任何地方都不能使用“-”;这是,不是换行符,这是打破你的代码。从技术上讲,不是序列-->
终止了注释,-->
本身就可以直接终止注释(当您进入细节时,它会有点混乱,但底线是不要在注释中使用该序列!)
object(SimpleXMLElement)#1 (3) {
["foo"]=>
string(5) "Hello"
["bar"]=>
string(5) "World"
["comment"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#2 (0) {
}
[1]=>
object(SimpleXMLElement)#3 (0) {
}
}
}