• 解析 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 的标
    题,并在对话框中显示。
  • 相关阅读:
    CSS3 3D转换
    CSS3 2D转换
    CSS3 字体
    CSS3 文本效果
    Spring核心技术(十三)——环境的抽象
    表达式求值
    一些设计上的原则
    POJ2503字典树
    MBR结构解析与fdisk的bash实现
    微服务指南走北(三):Restful API 设计简述
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/529008.html
Copyright © 2020-2023  润新知