【问题标题】:String could not be parsed as XML php android webservice Error字符串无法解析为 XML php android webservice 错误
【发布时间】:2017-02-05 05:12:42
【问题描述】:

它没有将 url 值从 php 传递到 xml 转换

警告:SimpleXMLElement::__construct():实体:第 141 行:解析器错误:EntityRef:期待 ';'在 /home/u395985035/public_html/ddd/ddd.php 第 34 行

警告:SimpleXMLElement::__construct(): http://teko.gogo.com/gtw_c?tem_id=844&erw_id=44545 在 /home/u395985035/public_html/ddd/ddd.php 的第 34 行

警告:SimpleXMLElement::__construct(): ^ in /home/u395985035/public_html/ddd/ddd.php 第 34 行

致命错误:未捕获的异常 'Exception' 带有消息 'String could 在 /home/u395985035/public_html/ddd/ddd.php:34 中不被解析为 XML' 堆栈跟踪:#0 /home/u395985035/public_html/ddd/ddd.php(34): SimpleXMLElement->__construct('\n\t\t

    <?php

  include("config.php"); 

    $sql = "SELECT * FROM table1";
    $q   = mysqli_query($conn,$sql) or die(mysql_error());
    $xml = "<demo1>\n\t\t";

    while($r = mysqli_fetch_array($q))   {
      $xml .= "<t_view>\n\t";
      $xml .= "<l1>".$r['id']."</l1>\n\t\t";  
      $xml .= "<l2>".$r['link1']."</l2>\n\t\t";
      $xml .= "</t_view>\n\t";  
    }

       $xml .= "</demo1>\n\t\t";
    $sxe = new SimpleXMLElement($xml);
    $sxe->asXML("ddd.xml");

 /* I am parsing url link with parameters in $r['link1'] */
?>

【问题讨论】:

  • 你能从 ddd.php 文件中粘贴导致错误的代码吗?
  • 代码供您参考。
  • 我无法重现此错误,您的记录中似乎有问题,我创建了带有“id”和“link1”字段的同一张表,插入了一些虚拟数据并运行代码,它工作正常。
  • 在我的情况下,它会产生上述错误。
  • 只有简单的url字符串像“google.co.in”一样工作,但是“teko.gogo.com/gtw_c?tem_id=844&erw_id=44545”这种链接会产生错误。

标签: php android xml-parsing android-webservice


【解决方案1】:

好吧,不要对你的网址进行编码,试试这个,我已经测试过了,它正在工作。

while($r = mysqli_fetch_array($q))   {
      $xml .= "<t_view>\n\t";
      $xml .= "<l1>".$r['id']."</l1>\n\t\t";  
      $xml .= "<l2>".preg_replace('#&(?=[a-z_0-9]+=)#', '&amp;', $r['link1'])."</l2>\n\t\t";
      $xml .= "</t_view>\n\t";  
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多