在我的 1&1 Web 服务器上使用 simplexml 解析 XML 时出错,但在本地 EasyPHP 服务器上则不然?

发布于 2024-11-07 04:06:39 字数 1306 浏览 3 评论 0原文

我是 php 和 web 编码的新手,所以任何帮助都会很棒。

我在 iOS 应用程序和网络服务器之间传输 xml 字符串时遇到一些问题。

发送 xml 请求时,我得到的响应开头为:

<b>Warning</b>:  simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : String not started expecting ' or &quot; 
<b>Warning</b>:  simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: &lt;?xml version=\&quot;1.0\&quot;?&gt; in 
<b>Warning</b>:  simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : Malformed declaration expecting version in

我使用 Google Data API 中的 Google GDataXMLNode 在 iOS 应用程序上生成 XML。 然后,我使用 post HTTP 请求发送 xml。
服务器使用 php :

$xml = simplexml_load_string($xml_string);

我相信问题出在 xml 字符串和版本号周围的“标记,例如

<?xml version="1.0"?>

发送为:

 <?xml version=\"1.0\"?>

奇怪的是代码在我的本地 EasyPHP 服务器上运行良好,我只在运行时遇到问题在我的 1&1 网络服务器上。也许是服务器上 simplexml 和 php 的版本问题?

我该如何解决这个问题,我相信我无法更改 1&1 网络服务器上的 php 版本。 使用不同的库来生成 xml 会更好吗(我正在循环数组来生成它)

I'm new to php and web coding so any help would be great.

I'm having some issue with the transmission of an xml string between an iOS app and my webserver.

When sending the xml request I get a response starting with:

<b>Warning</b>:  simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : String not started expecting ' or " 
<b>Warning</b>:  simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: <?xml version=\"1.0\"?> in 
<b>Warning</b>:  simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : Malformed declaration expecting version in

I use the Google GDataXMLNode from the Google Data API to produce the XML on the iOS app.
I then send the xml using a post HTTP request.
The server uses php with:

$xml = simplexml_load_string($xml_string);

I believe the issue is with the xml string and the " marks around the version number such as

<?xml version="1.0"?>

being sent as:

 <?xml version=\"1.0\"?>

The strange thing is the code works fine on my local EasyPHP server, I only have issues when running it on my 1&1 webserver. Maybe it is the version of simplexml and php on the server?

How can I fix this, I believe I don't have the ability to alter the php version on the 1&1 webserver.
Would it be better to use a different library to produce the xml, (I am looping through an array to produce it)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文