编辑:这个怎么样太宽了?我的问题因为过于宽泛而被搁置,但我问了一个问题并提供了截图和源代码。我还需要什么?我觉得这个被标记为关闭之前,标记它的人在这里阅读了所有内容。我提供了我的文件的完整源代码。救命!我不是很受欢迎。 : - (
我按照此问题中的答案来获取现有的XML Feed,更改了一些标记名称,然后吐出新的Feed:
How do I change XML tag names with PHP?
我遇到的问题是,当Feed在任何浏览器中显示时,它会显示为文本,而不是像其他正常的'那样格式化。 XML提要。我假设因为我没有告诉PHP将页面呈现为XML,所以它默认采用text / html,这就是它发生的原因。但是,当我在标题中指定它的XML时,它会生成一些XML格式,但我的所有Feed都会在' pre'之间显示为粗体。上面链接的答案中的标签。删除' pre'来自源代码的标记,它什么都不生成。
没有标头指定XML:
使用标头指定XML:
有没有人有任何提示可以指导我在浏览器中正确呈现?
提前致谢!
来源链接在下面的评论中。 StackOverflow不允许我添加第三个链接。
答案 0 :(得分:0)
修正了它!
我换了:
`echo 'PRETAG'; print_r(htmlspecialchars($xml)); echo 'PRETAG';`
与
`print_r($xml);`
并将XML内容类型添加到标题中:
`header ("Content-Type:text/xml");`
我的原始资料(如上面的评论中所述)可在此处获取:来源:ufile.io/4fee1
答案 1 :(得分:-1)
您是否通过xml验证程序运行生成的代码以确保重命名函数返回有效的xml语法?
如果你唯一的问题是在浏览器中渲染它,你可能会调查simple_xml_load_string或SimpleXMLElement来将你的xml解析为可行的对象。
simplexml_load_string
$showme = simplexml_load_string($xml);
print_r($showme);
的SimpleXMLElement
$showme = new SimpleXMLElement($xml);
echo $showme->asXML();