我在SimpleXMLElement上挣扎了很长时间,但我无法弄清楚如何输出格式良好的XML文档。
使用SQL查询,我将一些数据检索为XML格式。
select S_MODELE, S_ID from stock FOR XML RAW ('Product'), ROOT ('Products'), ELEMENTS"
在php中,我有一个名为$values
的变量,它等于:
<products>
<product>
<S_MODELE>Some text</S_MODELE>
<S_ID>1</S_ID>
</product>
<product>
<S_MODELE>Some text</S_MODELE>
<S_ID>2</S_ID>
</product>
<product>
<S_MODELE>Some text</S_MODELE>
<S_ID>3</S_ID>
</product>
</products>
然后我尝试在浏览器中输出格式正确的XML文件:
header('Content-Type: text/xml');
$xml = new SimpleXMLElement($values);
echo $xml->asXML();
我得到这样的东西:
感谢您的时间。
答案 0 :(得分:1)
屏幕截图与输出示例不匹配。看起来您在另一个XML结构中有多个XML文档作为文本。
请注意,如果您在浏览器中将XML视为HTML,则只会看到文本内容。在这种情况下,内部XML文档。
如果$values
已包含XML文档,则只能echo $values
。这里不需要将它加载到DOM或SimpleXMLElement中,只是为了再次序列化它。