【问题标题】:How to put the xml header, with "<?xml" in php如何在 php 中使用“<?xml”放置 xml 标头
【发布时间】:2013-07-29 07:44:13
【问题描述】:

首先:我是 SimpleXMLElement 对象的新手,所以也许我做错了什么。

我必须加载这个字符串:

$xmlTipologie=simplexml_load_string(html_entity_decode("<?xml version='1.0' encoding='utf-8'?><content>".$temp_dom->saveHTML()."</content>", null, "UTF-8"));

但这是我得到的错误:

Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : StartTag: invalid element name in ....content/plugins/soap-SGS/soap-SGS.php on line 115

如果不添加 xml 的标题,我会收到此错误。 也许还有另一种方法可以在 php 字符串中添加 xml 的标头,如果有我会很高兴你在下面写的,但现在我对另一件事感到好奇:

我怎样才能把这个 char -> &lt;? 放在一个 php 字符串中? "在php.ini设置短标签模式时明显吗?)

编辑,我是这样使用htmlspecialchars的:

    $xmlTipologie=simplexml_load_string("<?xml version='1.0' encoding='utf-8'?>".htmlspecialchars("<content><![CDATA[".$temp_dom->saveHTML()."]]></content>",ENT_QUOTES));

这是新的错误:

警告:simplexml_load_string() [function.simplexml-load-string]: 实体:第 1 行:解析器错误:需要开始标记,“

嗯...我无法调试它,这让我很受伤。

谢谢

【问题讨论】:

  • html_entity_decode() 不会破坏 XML 代码吗?
  • 无论如何,你不能从字符串中开始/结束 PHP 模式,所以 PHP 短打开标签设置在这里应该是无关紧要的。
  • 你为什么有html_entity_decode?什么编码?你的意思是使用 htmlspecialchars 将 html 作为单个元素放在 标记中,更像是使用 CDATA
  • 您似乎将一个 XML 文档捆绑到另一个文档中,然后立即解析第二个 XML 文档,这将返回(编码的)内部 XML。你能澄清一下你真正想要达到的目标吗?这看起来像是一个尝试的解决方案,而不是最初的问题。 (有时称为the XY problem。)
  • 是的......我明白了......问题出在其他地方;)我将继续调试并尝试下次提出更好的问题。谢谢。

标签: php simplexml


【解决方案1】:

PHP

<?php
$string = <<<XML
<?xml version='1.0'?> 
<content>
Call function here
</content>
XML;

$xml = simplexml_load_string($string);

print_r($xml);
?>

【讨论】:

    【解决方案2】:

    我觉得你可以用htmlspecialchars

    $xmlTipologie=simplexml_load_string(html_entity_decode(htmlspecialchars("<?xml version='1.0' encoding='utf-8'?><content>".$temp_dom->saveHTML()."</content>"), null, "UTF-8"));
    

    【讨论】:

    • 如果将使用htmlspecialchars,则应在&lt;content&gt;标签内容中使用,而不是在完整的xml文档中使用
    猜你喜欢
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    相关资源
    最近更新 更多