【问题标题】:Index xml files from a outside website索引来自外部网站的 xml 文件
【发布时间】:2010-01-22 05:38:26
【问题描述】:

使用 python django 我想访问这个站点 http://www.reta-vortaro.de/revo/ 这是一个名为 esperanto 的语言的字典站点,我需要能够搜索一个单词,并得到它的定义,它看起来像每个 Esperanto root word有一个xml文件,

  1. 我需要索引每个 xml 文件
  2. 将每个 xml 文件的名称存储在数据库中。
  3. 在我的网站上,我需要 $_GET 这个词。
  4. 我需要搜索这些词根与以它命名的 xml 文件的组合。

【问题讨论】:

    标签: python xml django


    【解决方案1】:

    大多数编程语言都可以访问某种 XML 解析器以及一些持久的嵌入式键值存储。一旦你决定了一种编程语言,只需找到一种你觉得舒服的编程语言。

    【讨论】:

    【解决方案2】:

    想知道您是否有权访问 WSDL。您也许可以通过这种方式访问​​数据。 您遇到的具体问题是什么?

    【讨论】:

      【解决方案3】:

      一旦您需要索引和快速搜索,可能值得寻找XML database 来存储您的字典(尤其是对于复杂查询和大字典)。您可以通过 PHP 轻松访问大多数 XML 数据库。

      【讨论】:

        【解决方案4】:

        我会为您考虑这样的工作流程:

        1. 下载所有文件
        2. 将它们的内容和文件名加载到数据库中(任何数据库都可以)
        3. 设置 sphinx 搜索工具 (http://sphinx.pocoo.org/)
        4. 运行 sphinx 为 xml_contents 建立索引
        5. 设计您的应用程序以使用 sphinx 在索引中进行搜索
        6. 删除所有包含的文件,只在数据库中保留文件名和 sphinx 索引
        7. 使用 sphinx 搜索时,您会得到一个文件名,按照您之前的设想进行操作

        我对狮身人面像不是很熟悉,不知道它是否能够使用文件来构建它的索引,这就是为什么我提供你将所有信息加载到数据库中的原因

        【讨论】:

          【解决方案5】:

          您是否尝试过向网站管理员索取数据?或者他可以为你设置一个网络服务?

          【讨论】:

            【解决方案6】:

            好吧,您可以使用file_get_contents()、curl、wget 或您最喜欢的工具来获取每个 XML 文件。

            然后,您可以将 XML 文件保存在文件系统上,或者更好地使用 Oracle 的 Berkeley DBXML,使用它您实际上可以将 XML 保存在数据库中并进行查询,有点像 SQL。它具有 PHP 绑定并允许您使用 XQuery 进行查询。我用它来替换 XML Web 服务,它的工作就像一个魅力,速度极快。

            对于 PHP XML 解析,我曾经使用 Keith Devens' XML to Array 解析器,这很简单,但现在已经过时了。现在我使用的是 CakePHP 自己的,你可能想使用 PHP 的 SimpleXML。您还可以在应用程序的客户端使用基于 JavaScript 的解析器,例如 jParse (jQuery)。

            这是 PHP + dbXML 的页面,但似乎已关闭:http://phpdbxml.4641.org/ 但您可以从这里下载:http://www.oracle.com/technology/software/products/berkeley-db/index.html(也有许可证)。

            希望对你有帮助。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-12-09
              • 1970-01-01
              • 1970-01-01
              • 2012-12-03
              • 1970-01-01
              • 2016-06-23
              相关资源
              最近更新 更多