加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

解析php中的solr响应并在html表中显示它们

发布时间:2020-12-13 17:20:22 所属栏目:PHP教程 来源:网络整理
导读:所以我有很多solr实例在运行并提交搜索我只是把一个快速的网站放在一起.在我发出请求URL之后,在php中我使用以下命令从solr获取 XML响应: $solr_return= file_get_contents($full_request_URL); 现在响应不是一个简单的xml格式,如果你知道我的意思,它就有了
所以我有很多solr实例在运行并提交搜索我只是把一个快速的网站放在一起.在我发出请求URL之后,在php中我使用以下命令从solr获取 XML响应:

$solr_return= file_get_contents($full_request_URL);

现在响应不是一个简单的xml格式,如果你知道我的意思,它就有了它的解决方案.我希望能够解析返回的xml并在html中的表中的行中显示它们.

我一直在网上看,有许多不同的想法让我觉得我可能完全不在,这不是这样做的方法.如果你是我,你会怎么做?

$solr_return中的xml如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<response>

<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">95</int>
  <lst name="params">
    <str name="indent">true</str>
    <str name="rows">10</str>
    <str name="start">0</str>
    <str name="q">*:*</str>
    <str name="shards">some shards here</str>
  </lst>
</lst>
<result name="response" numFound="2403043" start="0">
  <doc>
    <str name="1">test1</str>
    <str name="2">test2</str>
    <str name="3">test3</str>
  </doc>
  <doc>
    <str name="1">test1</str>
    <str name="2">test2</str>
    <str name="3">test3</str>
  </doc>
</result>
</response>

对于此示例,我想显示一个包含三列1,2和3以及两行test1,test2和test3的表.

感谢您的帮助.

解决方法

最简单的方法是将& wt = php添加到Solr请求URL,然后运行eval()并将结果分配给一个数组(假设您信任Solr服务器不发回恶意代码).然后Solr结果将只是一个常规的PHP数组,你可以根据需要操作它.

或者,您可以在最后添加& wt = json,以JSON格式获取结果,然后在PHP中返回的字符串上运行json_decode()以将其转换为PHP数组.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读