简体   繁体   English

使用JavaScript进行XML解析

[英]XML Parsing using JavaScript

Here's an XML snippet: 这是一个XML代码段:

<appSettings>
  <add key="val1" value="val2"/>

The XML document is loaded in memory, ready to be parsed. XML文档已加载到内存中,可以进行分析了。

How would you get and write the value of "val2" to the web page? 您将如何获取“ val2”的值并将其写入网页?

Thanks, rodchar 谢谢,Rodchar

Post Comments: 发表评论:
I'm getting .selectSingleNode is not a function: 我得到.selectSingleNode不是一个函数:

<script type="text/javascript">
    if (window.XMLHttpRequest)
      {
        xhttp=new window.XMLHttpRequest()
      }
    else
      {
        xhttp=new ActiveXObject("Microsoft.XMLHTTP")
      }
    xhttp.open("GET","test.xml",false);
    xhttp.send("");
    xmlDoc=xhttp.responseXML;

    var node = xmlDoc.selectSingleNode("/appSettings/add[@key='Key']");
    alert(node.getAttribute("value"));


</script>

Try this: 尝试这个:

var node = xmlDoc.selectSingleNode("/appSettings/add[@key='val1']");
alert(node.getAttribute("value"));
var xmlDoc;
if (typeof DOMParser !== 'undefined') {
  xmlDoc = (new DOMParser).parseFromString(xmlText, 'text/xml');
} else {
  xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
  xmlDoc.async = 'false';
  xmlDoc.loadXML(xmlText);
}

Use jQuery, it's so much nicer. 使用jQuery,它要好得多。

  $(request.responseXML).find("add").each(function() {
      var marker = $(this);
      var key = marker.attr("key");
      var value = marker.attr("value");
  });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM