【问题标题】:Parse XML through httprequest directly in the DOM直接在 DOM 中通过 httprequest 解析 XML
【发布时间】:2012-05-19 02:28:34
【问题描述】:

我正在做一个 Httprequest 来获取一个 XML 文件,它运行良好!

我的 JS 函数:

function sendData()
{   
        var xdr = getXDomainRequest();
        xdr.onload = function() 
        {
                document.getElementById("myDiv").innerHTML = xdr.responseText;
        }

        xdr.open("GET", "myURL");
        xdr.send();
} 

我现在在“#myDiv”中附加了类似的内容:

<div id="myDiv">

<!--?xml version="1.0" encoding="UTF-8"?-->
<liste>
<produits>
<produit>
<nomprod>TEXT</nomprod>
<desc>TEXT</desc>
<texte>TEXT</texte>
</produit>
</produits>
</liste>

</div>

现在,我想解析“#myDiv”中包含的这个 XML 并设置它的样式

有什么想法吗?谢谢!

【问题讨论】:

    标签: javascript xml parsing xmlhttprequest


    【解决方案1】:

    调用xrd.send 后,您将可以通过xrd.responseXML 访问xml 文档。然后你可以使用 DOM 函数来操作xrd.responseXML,例如,你可以像这样得到&lt;noprod&gt; 的值:

    var nomprod = xrd.responseXML.getElementsByTagName('nomprod')[0].firstChild.nodeValue;
    

    然后你可以对数据做任何你想做的事情。

    【讨论】:

      【解决方案2】:

      如果您对框架持开放态度,则可以使用 jQuery 简单地发送将加载和解析 XML 的 ajax 调用。

      $.get("myurl.xml", function(data){
          xmldata = $.parseXML(data);
      });
      

      然后您可以遍历 xmldata 并创建自己的 HTML 表示并设置样式。

      来源:

      http://api.jquery.com/jQuery.get/

      http://api.jquery.com/jQuery.parseXML/

      【讨论】:

      • 感谢您的回答,但正如我所说,我没有 .xml 文件,我将 XML 内容直接附加到 div 中
      • 不,您使用 http 请求来获取 xml 文件。您可以将整个请求代码更改为此,并将其缩短为 3 行代码而不是 10
      • 如果以这种方式加载它,您将拥有一个包含所有 xml 结构的对象,您将能够创建 HTML 元素并将其附加到页面。
      • 我需要 httprequest 因为我将一些变量发送到需要 httrequest 的远程服务
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 2010-12-25
      • 1970-01-01
      • 2023-03-17
      • 2016-07-02
      • 2014-05-19
      • 2013-11-22
      相关资源
      最近更新 更多