如何将Google XML建议与jquery/JavaScript结合使用

如何将Google XML建议与jquery/JavaScript结合使用,javascript,jquery,xml,xml-parsing,Javascript,Jquery,Xml,Xml Parsing,我找到了一种使用XML获取谷歌建议的方法,其地址如下: 我的问题是,在使用输入字段重新调整时,如何使XML显示为适当的HTMLUL/li。所以在输入字段中键入将得到XML列表,并将其显示为常规HTML列表。您可以使用XSLT 但您将遇到一个问题,即您不能在Internet Explorer中简单地将XML导入HTML 因此,出于您的目的,只需在相关的节点上迭代 var xml = new DOMParser( ).parseFromString(/*xml string*/,"text

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

我的问题是,在使用输入字段重新调整时,如何使XML显示为适当的HTMLUL/li。所以在输入字段中键入将得到XML列表,并将其显示为常规HTML列表。

您可以使用XSLT

但您将遇到一个问题,即您不能在Internet Explorer中简单地将XML导入HTML


因此,出于您的目的,只需在相关的
节点上迭代

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) ;
var xml=new DOMParser().parseFromString(/*xml string*/,“text/xml”);
var l1=xml.getElementsByTagName(“建议”);
var l2=xml.getElementsByTagName(“num_查询”);
var d=document.createElement(“div”);
if(l1.length==l2.length){
对于(变量i=0,u,s,q,e;i


  • 如果您试图将JavaScript包含到XML中,您需要:


    如果你只是想用一个项目符号来显示文本,那么使用CSS:display:list item

    只会得到单词“cars”的xml,我试图模仿谷歌的建议列表,所以每次我在输入字段中按下一个键时,我都必须得到一个不同的列表。我已经在这里问了这个问题:但是由于某种原因,它突然停止工作了,我不知道问题出在哪里。因为google提供的xml仍然可以正常工作。@Youss:输出取决于输入的xml文档。您只需要将
    xml
    变量替换为任何查询的结果。Google提供的输出XML的格式保持不变,因此代码仍然有效,是如何将XML转换成HTML,而不是如何将JavaScript代码转换成HTML。在这种情况下,它必须是XHTML 1.1,并且没有比XHTML更严格的要求。然后,由于您已经在一个本机XML文档中,只需使用名称空间添加来自其他XML语言的位。我建议再次阅读OP的问题。提示:他想要HTML输出。请接受答案。