2017-09-19 34 views
1

我在PHP中使用XML文件(simplexml_load_file),该文件中包含一个显示在站点中的电视节目。PHP simplexml_load_file和内容中的&符号(&)

我的问题开始,当信道给我,XML具有XML的内容内的符号(&)这样的:

<display-name lang="en_US">Crime & Investigation</display-name> 

当使用simplexml_load_file尝试打开该文件,我们得到一个错误称的符号是不允许。当我自己编辑XML并将&符号更改为&amp; simplexml_load_file可以加载文件没有问题。

我联系不上道,告诉他们,使XML安全使用HTML实体,那么有没有办法以某种方式打开文件,读取它的内容,改变&到&amp;,然后用使用simplexml_load_file重新打开它?

在此先感谢!

+0

xml标签声明如何? <?xml version =“1.0”encoding =“utf-8”?> –

+0

准确地说,它是<?xml version =“1.0”encoding =“UTF-8”?> – Panos

+0

您试过用<![CDATA [TEXT HERE with&normal]]> https://msdn.microsoft.com/en-us/en-en/library/ms256076(v=vs.120).aspx –

回答

1

我联系不上道,告诉他们,使XML安全

这不是使得XML安全的问题,这使得它的XML的问题。目前他们寄给你的东西几乎肯定是XML,但是他们在代码中存在一个bug,如果他们远程面向服务,那么他们会希望你告诉他们。

不接受以次充好的商品;不接受腐败数据。一旦你开始尝试修复他们发送给你的缺陷,你就会在自动扶梯上爬坡:你永远不知道下一个问题将会发生什么。

+0

你说得对。但我无法联系他们。如果我在这里找不到解决方案,我会看看我能做些什么来以某种方式联系他们...... – Panos

+1

您在这里找到的任何解决方案都只是试图修补带帮助/粘贴石膏的漏水管道。它可能推迟等待几周发生的灾难。 –