在我的 1&1 Web 服务器上使用 simplexml 解析 XML 时出错,但在本地 EasyPHP 服务器上则不然?
我是 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 "
<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
我使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我猜这与以下内容有关:
http://php.net/manual/ en/security.magicquotes.php
如果是这样,请尝试:
http://www.php.net/manual/en/security.magicquotes.disabling.php
I'd guess this has something to do with:
http://php.net/manual/en/security.magicquotes.php
and if so, try:
http://www.php.net/manual/en/security.magicquotes.disabling.php