如何将xml文件与多个节点和子节点链接?

时间:2012-03-01 17:58:20

标签: javascript xml

我正在寻找一个将加载xml文件的javascript,并将显示类似矩形的内容,其中包含基于xml子节点的链接,链接到子节点的父节点和链接到节点的子节点。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用AJAX完成此任务。

首先,创建一个从XML文件中提取信息的函数:

function loadXMLdoc(url) {
  var ajaxRequest;
  try {
    // Opera 8.0+, Firefox, Safari
    ajaxRequest = new XMLHttpRequest();
  } catch(e) {
    // Internet Explorer Browsers
    try {
      ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        // Something went wrong
    alert("Your browser broke!");
    return false;
      }
    }
  }
  // Create a function that will receive data sent from the server
  ajaxRequest.onreadystatechange = function() {
    if (ajaxRequest.readyState === 4) {
  if (ajaxRequest.status === 200) {
        // a hidden div to display the result
    var result = document.getElementById('result');
    result.style.display = 'block';
    result.innerHTML = ajaxRequest.responseText;
  } else {
    result.innerHTML = 'An error has occurred making the request';
  }
    }
    ajaxRequest.open("GET", url, true);
    ajaxRequest.send();
  };
}

从这里,您可以开始从XML文件中获取数据。在if (ajaxRequest.status === 200) { }语句中,您可以开始调用元素:

var elem = ajaxRequest.responseXML.getElementById('elem');
var parents = elem.parentNodes;
var children = parents.childNodes;

由你决定如何格式化这个以及你正在抓取的数据,但这对你来说应该是一个很好的起点。