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

原文 标签 php html xml solr

所以我有很多 solr 实例正在运行,为了提交搜索,我只是把一个快速的网站放在一起。在创建请求 URL 后,在 php 中我使用以下命令从 solr 获取 XML 响应:

    $solr_return= file_get_contents($full_request_URL);

现在,响应不是简单的 xml 格式,如果您知道我的意思,它就具有 solr-ness。我希望能够解析返回的 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格式的结果,然后运行json_decode()在 PHP 中返回的字符串上将其转换为 PHP 数组。

关于php - 解析 php 中的 solr 响应并将它们显示在 html 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11660819/

相关文章:

java - 无法从项目文件夹xsd读取xsd文件

php - 从MySQL查询结果创建关联数组-Doctrine2

javascript - 多个谷歌图表上的事件

javascript - PHP RSS 提要爬虫

javascript - 将 DOMContentLoaded 监听器附加到动态创建的窗口

html - 即使将大小调整为一行或多行,也保持 ul li 元素居中

php - PHP 7 中的 "Allocation of JIT memory failed, PCRE JIT will be disabled"警告

php - 表单之外的表单元素

java - 在 XML 和 Java 中创建 View ,然后引用并加载它们?

android - 比较两个XML文件Android