zoukankan      html  css  js  c++  java
  • 解析 XML

    解析 XML

    Firefox 可以自动的将当前页面解析为 DOM(文本对象模型), 您也可以通过 XML 语句(可以是您自己编写的,也可以是您从远端主机得到的)来创建DOM。

    例子:将一个字符串解析为 XML

    var xmlString = '<passwd>' +
    '  <user id="101">' +
    '    <login>mark</login>' +
    '    <group id="100"/>' +
    '    <displayname>Mark Pilgrim</displayname>' +
    '    <homedir>/home/mark/</homedir>' +
    '    <shell>/bin/bash</shell>' +
    '  </user>' +
    '</passwd>'
    var parser = new DOMParser();
    var xmlDoc = parser.parseFromString(xmlString, "application/xml");
    在这里,关键是 DOMParser 这个对象,它包含 parseFromString 这个方法。 (它也包含其他的方
    法,但在这里并不要使用它们。) parseFromString 有两个参数:一是将要解析为 XML 的字符串,
    二是内容的类型。这两个参数都是必要的。
    
    对象DOMParser 的 parseFromString 方法将内容的类型作为它的第二个参数。它的值可以是:application/xml, application/xhtml+xml, 以及 text/xml。 出于某个原因(在这里不适合讨论),您应该一直使用 application/xml 作为参数的值。
    当您将它与 GM_xmlhttpRequest 函数结合起来使用时,它可以解析远端的 XML。
    例子:解析远端 XML
    
    GM_xmlhttpRequest({
    method: 'GET',
    url: 'http://greaseblog.blogspot.com/atom.xml',
    headers: {
    'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3',
    'Accept': 'application/atom+xml,application/xml,text/xml',
    },
    onload: function(responseDetails) {
    var parser = new DOMParser();
    var dom = parser.parseFromString(responseDetails.responseText,
    "application/xml");
    var entries = dom.getElementsByTagName('entry');
    var title;
    for (var i = 0; i < entries.length; i++) {
    title = entries[i].getElementsByTagName('title')[0].textContent;
    alert(title);
    }
    }
    });
    这段代码将会载入[http://greaseblog.blogspot.com/atom.xml Atom feed],将它解析成 DOM,
    然后查询 DOM 获得 entries 列表。对每个 entry, 它再次查询 DOM ,获得 entry 的标
    题,并在对话框中显示。
  • 相关阅读:
    JavaScript 数组中 length 属性【每日一段代码100】
    连续往上滚动jquery代码
    关于<img>标签的几个问题
    前端页面制作常见问题及解决方案
    JavaScript random() 方法【每日一段代码96】
    JavaScript split() 方法【每日一段代码99】
    JavaScript boolean 对象检查逻辑值【每日一段代码94】
    CSS 属性总结
    JavaScript max() 方法【每日一段代码97】
    JavaScript sort() 方法数组排序文字【每日一段代码92】
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/529008.html
Copyright © 2011-2022 走看看