简单XML元素return怪异XML结构
SimpleXMLElement return weird XML structure
我在 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();
我得到这样的结果:
感谢您的宝贵时间。
截图与输出示例不符。看起来您有多个 XML 文档作为另一个 XML 结构中的文本。
请注意,如果您在浏览器中将 XML 视为 HTML,您只会看到文本内容。在这种情况下,内部 XML 文件。
如果 $values
已经包含 XML 个文档,您可以 echo $values
。这里不需要加载到DOM或SimpleXMLElement中,只需再次序列化即可。
我在 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();
我得到这样的结果:
感谢您的宝贵时间。
截图与输出示例不符。看起来您有多个 XML 文档作为另一个 XML 结构中的文本。
请注意,如果您在浏览器中将 XML 视为 HTML,您只会看到文本内容。在这种情况下,内部 XML 文件。
如果 $values
已经包含 XML 个文档,您可以 echo $values
。这里不需要加载到DOM或SimpleXMLElement中,只需再次序列化即可。