【问题标题】:How can I use Google XML suggestions with jquery/JavaScript如何将 Google XML 建议与 jquery/JavaScript 一起使用
【发布时间】:2011-12-11 10:37:01
【问题描述】:

我找到了一种使用 XML 获取 Google 建议的方法,它的地址如下:

This is suggestions for the word Cars

我的问题是,当使用输入字段重新计算时,如何让 XML 显示为正确的 HTML ul/li。因此,在输入字段中输入将获得 XML 列表并将其显示为常规 HTML 列表。

【问题讨论】:

  • 请接受答案。

标签: javascript jquery xml xml-parsing


【解决方案1】:

你可以使用 XSLT

但是你会遇到一个问题,你不能简单地将 XML 导入到 Internet Explorer 中的 HTML。


因此,为了您的目的,只需迭代相关的 Nodes

var xml = new DOMParser( ).parseFromString(/*xml string*/,"text/xml") ;

var l1 = xml.getElementsByTagName("suggestion") ;
var l2 = xml.getElementsByTagName("num_queries") ;

var d = document.createElement("div") ;

    if(l1.length === l2.length) {

         for(var i = 0, u, s, q , e; i < l1.length ; i++) {

             u = document.createElement("ul") ;
             d.appendChild(u) ;

             s = l1[i] ;
             q = l2[i] ;

             e = document.createElement("li") ;
             e.appendChild(  document.createTextNode( s.getAttribute("data") )  ) ;
             u.appendChild(e) ;

             e = document.createElement("li") ;
             e.appendChild(  document.createTextNode( q.getAttribute("int") )  ) ;
             u.appendChild(e) ;

        }

    }

document.getElementsByTagName("body")[0].appendChild(d) ;

  1. Preview on JSBin

【讨论】:

  • 这只会让我得到“汽车”这个词的 xml 我试图模仿谷歌建议列表,所以每次我在输入字段中按下一个键时,我都必须得到一个不同的列表。我已经在这里问了这个问题:webdeveloper.com/forum/showthread.php?t=248975 但是由于某种原因它突然停止工作,我不知道问题是什么......因为谷歌提供的 xml 仍然有效。
  • @Youss:输出取决于输入的 XML 文档。您只需将xml 变量替换为任何查询的结果。 Google 提供的输出 XML 的格式保持不变,因此代码仍然有效。
【解决方案2】:

如果您尝试将 JavaScript 包含到 XML 中,这就是您所需要的:https://stackoverflow.com/a/1451526/1065429

如果您只想显示带有项目符号的文本,请使用 CSS:display: list-item

【讨论】:

  • 我认为问题是如何将 XML 放入 HTML 而不是如何将 JavaScript 代码放入 HTML。
  • 在这种情况下,它必须是 XHTML 1.1 并且没有什么比这更严格的了,然后由于您已经在一个原生 XML 文档中,只需使用命名空间添加来自其他 XML 语言的位。
  • 我建议再次阅读 OP 的问题。提示:他想要 HTML 输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多