如何在SimpleXML中翻译此PHP代码?

如何在SimpleXML中翻译此PHP代码?,php,xml,simplexml,Php,Xml,Simplexml,如何在xml文件中插入以下php代码,或者如何将xml文件更改为php文件? 也许SimpleXML是一种解决方案,但我不明白如何使用它 您可以在此处找到我需要的XML文件的live search脚本: XML文件不处理PHP,但PHP可以读取或输出XML文件。以相反的方式查看它——在PHP页面中包含XML。SimpleXML就是一个例子(摘自php在线手册:) 您可以修改PHP输出的标题,以便浏览器将其视为XML,如下所示: <?php header('Content-Type: tex

如何在xml文件中插入以下php代码,或者如何将xml文件更改为php文件? 也许SimpleXML是一种解决方案,但我不明白如何使用它

您可以在此处找到我需要的XML文件的live search脚本:


XML文件不处理PHP,但PHP可以读取或输出XML文件。以相反的方式查看它——在PHP页面中包含XML。SimpleXML就是一个例子(摘自php在线手册:)

您可以修改PHP输出的标题,以便浏览器将其视为XML,如下所示:

<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
?>

要详细说明Jeff Clayton的答案,您可能需要了解PHP对实际创建XML文档的支持。如果您的要求是必须有一个.xml文件,并且必须使用PHP创建元素,那么SimpleXML具有满足这两个要求的函数:

您可以通过将我假定的现有XML文件读入字符串来实例化SimpleXMLElement对象

$my_xml_file = file_get_contents('somexml.xml');
然后可以使用该字符串实例化SimpleXMLElement:

$xml_for_parsing = new SimpleXMLElement($my_xml_file);
然后,您可以通过SimpleXMLElement对象的
addChild
方法以编程方式将元素添加到XML中

最后,您可以使用simplexmlements
asXML
方法将更新后的XML保存为XML文件

如果您需要更健壮(虽然可以说是更复杂)的功能,您可以考虑查看PHP的DOM:


“或者我如何将xml文件更改为php文件?”–通过重命名它…?脚本(实时搜索)那时不起作用。可能是因为它当时无法将输出识别为xml–因此,请先发送适当的
内容类型
标题。
标题(“内容类型:text/xml”)
对我没有帮助。只是“它不起作用”对我们没有帮助…所以请添加一个问题描述,使其可复制。我已经将
AddType application/x-httpd-php.xml
添加到我的htaccess文件中,但它不起作用。如何将php代码转换为SimpleXML?听起来您也在询问web服务器配置。php包中可能没有安装诸如php xml之类的模块。检查这里的方法:我不能在我的PHP软件包上安装任何东西。这里有一个关于PHP 5或更高版本的XML的好读物,使用SimpleXML它可能会帮助您:
$xml_for_parsing = new SimpleXMLElement($my_xml_file);