使用jQuery在浏览器中处理XML

XML 是 Web 的 SGML,但是它还没有像 XML 社区那样在 Web 上引人注目。XML 在 Web 上最突出的成就 —— XHTML —— 已经被政治和委员会设计所纠缠,并且其他雄心壮志、技术良好的规范 —— 例如 XForms 和 SVG —— 一直受到低使用率的困扰。有时候 XML 会在意想不到的方面在 Web 上获得成功,包括 XML 格式的 Web 提要(例如 RSS 类型和 Atom)的流行。

常用缩略词

Ajax:异步 JavaScript + XML

API:应用程序编程接口

CSS:层叠样式表

DOM:文档对象模型

HTML:超文本标记语言

RSS:真正简单聚合

SGML:标准通用标记语言

SVG:可缩放矢量图形

URI:统一资源标识符

URL:统一资源定位符

W3C:万维网联盟

XHTML:可扩展超文本标记语言

XML:可扩展标记语言

和其他 Web 上的技术一样,Web 上的 XML 以浏览器为中心,但是大部分关于在 Web 上处理 XML 的讨论都集中在服务器端。在 developerWorks 的 Firefox and XML 系列中,我介绍了几种在 Firefox 浏览器中使用 XML 的方法。遗憾的是,跨浏览器处理 XML 甚至比跨浏览器处理 HTML 更加奇怪,这就是为什么这么多 Web 上的 XML 处理坚持相对安全的服务器端领域的部分原因。

许多动态 HTML 开发人员厌烦了跨浏览器的痛苦和浏览器之间脚本编写的怪癖。几种出色的 JavaScript 库的出现使开发人员的工作更加轻松。这些库中最流行一种就是 jQuery,developerWorks 上有几篇文章已经对它进行了介绍。如果您知道如何绕开这些巨大的陷阱,您还可以使用 jQuery 来处理 XML。在本文中,我将展示如何在实际场景中联合使用 jQuery 和 XML,如何使用 Atom Web 提要,介绍一种在 jQuery 中处理 XML 的实用模式,并解决不幸遇到的实际问题。您需要对 XML、XML 名称空间、HTML、JavaScript 和 jQuery 库有基本的了解。

XML 名称空间的问题

我将首先介绍最严重的问题。jQuery 并不能完全解决 XML 名称空间问题。这个众所周知的问题由来已久,人们尝试了各种解决方案,但结果都不太令人满意。理想的解决方案可能是利用 jQuery 支持 CSS Level 3 名称空间选择器,它将添加一个新的选择器,如下所示:

@namespace ex url(http://example.com);
ex|quote { font-weight: bold }

第一行是 http://example.com 名称空间的前缀声明,第二行是一种使用新的名称空间组件的类型选择器,其中用竖线符号分隔已声明的前缀和本地名称。不幸的是,jQuery 并不支持这种方法,因此人们采取了各种方法来处理名称空间问题。

伪装前缀的重要性

一种最常见的黑客方法是在 jQuery 中处理 XML 和名称空间时忽略名称空间,并选择完整的 qname(前缀和本地部分)。

$(xml).find("x\\:quote").each(function() {
   //process each node
  });

该代码通过 jQuery 的节点名称概念选择,即 DOM nodeName 属性。它包含一个冒号,是 jQuery 选择器保留的符号,并且必须使用反斜杠进行转义。反斜杠是 JavaScript 脚本保留的符号并且必须是一对。这种黑客方法在使用不同前缀的名称空间等效文档中无法使用。

时间: 2024-09-12 20:02:58

使用jQuery在浏览器中处理XML的相关文章

jQuery获取浏览器中的分辨率实现代码_jquery

复制代码 代码如下: <script type="text/javascript"> $(document).ready(function(){ alert($(window).height()); //浏览器当前窗口可视区域高度 alert($(document).height()); //浏览器当前窗口文档的高度 alert($(document.body).height());//浏览器当前窗口文档body的高度 alert($(document.body).oute

【译】用jQuery 处理XML--浏览器中的XML与JavaScript

  用jQuery 处理XML--写在前面的话 用jQuery 处理XML-- DOM(文本对象模型)简介 用jQuery 处理XML--浏览器中的XML与JavaScript 用jQuery 处理XML-- jQuery与XML   原文:Processing XML with jQuery 来自IBM Developer Works   浏览器中的XML与JavaScript   在处理XML前,你需要在JavaScript中获取它.这一部分展示了一些不同的方法用来在JavaScript中获

jquery下拉菜单在浏览器中只显示1像素,求大神帮帮忙

问题描述 jquery下拉菜单在浏览器中只显示1像素,求大神帮帮忙 本人小菜鸟一枚,用jquery写了个简单的下拉菜单,代码如下:$(document).ready(function(){ $(""#navRight .jiantou"").hover(function(){ $(this).find("".xiangq"").stop().slideDown(""slow""); }f

怎么用jquery获取servlet中xml标签中的文本内容,

问题描述 怎么用jquery获取servlet中xml标签中的文本内容, // person.find("name").text; 这句话帮忙看下为什么返回不了文本内容? function but() { $.ajax({ type : "GET", url : "/AJAX/CServlet", dataType : "xml", success : function(data) { $(data).find("p

在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南_jquery

 pasteimg是一款可以在浏览器中实现图片粘贴的jQuery插件,兼容Chrome.Firefox.IE11以及其他使用这些内核的浏览器,比如,国内著名的360浏览器.      pasteimg可以识别浏览器中直接复制的图片,也可以识别复制的富文本中的图片.仅仅可以识别在浏览器中复制的内容,操作系统中复制的图片是不能识别的.      pasteimg依赖jQuery,简单易用,引入jQuery和paste.image.js后,调用方式如下: 复制代码 代码如下: //在需要监听粘贴事件的

jquery.ui.draggable中文文档_jquery

注意事项:     1. 以下格式为既定的格式, 为了统一性, 需要修改时, 大家商议     2. 格式中的所有项都是选填, 如果没有, 不写就是了.     3. 由于是XML格式的, 所以, 所有标签中间填写文本的地方(最重要是代码, 一定要加, 不然以后解析有困难), 都需要加上 <!--[CDATA[这中间写内容]]>     4. 翻译过程中, 一块对应的是一个<translate />标签.     5. 希望大家工作愉快. 复制代码 代码如下: <?xml v

在IE8浏览器中添加Google SSL搜索

  Google终于宣布其搜索引擎也开始支持SSL加密传输的功能,这样用户在搜索过程中可以更好地保障您的数据安全,还可以有效的缓解国内用户在使用Google搜索经常被重置的现象. 下面我介绍一下怎样在IE浏览器上使用SSL加密的Google搜索,如果在IE浏览器中打开该网站的时候被转入google.com.hk,您在选择主页下的Go to Google.com ,之后就可以正常使用. 给IE8浏览器添加一个Google with SSL的搜索引擎,可以到IE浏览器官网的在线添加搜索引擎页面(ht

IE中的XML DOM

dom|xml 当微软在IE 5.0中第一次加入对XML支持时,他们只是在MSXML ActiveX库(最初是为了在IE 4.0中解析Active Channels的组件)中实现XML的功能.最初的版本并没有打算公开使用,然而随着开发人员逐渐了解这个组件并尝试使用时,微软才意识到这个库的重要性,很快就在IE 4.01中发布了MSXML完全升级版本.MSXML最初还只是IE的一个组件.直到2001年,微软发布了MSXML 3.0,这是一个通过其公司网站独立发布的产品.在2001年晚些时候,微软又发

在PHP中开发XML应用程序之基础篇

xml|程序 一. XML简介 XML(可扩展的标注语言)是一种W3C标准,主要用于Web应用程序和服务器之间实现容易的交互.数据的存储与使用. 使用XML标准编码的数据具有能容易被人和计算机解释的意义和结构.XML数据是平台和应用程序独立的.不用多说,这本身就使XML成为适合于互联网的一个理想的数据交换格式(事实上,它正是因这一用途而被开发的).最近,宽带连接的增长及消费者对于越过任何媒体进行数据共享的应用软件的需求意味着,XML Web服务和应用软件正变得越来越丰富. XML的发明正是为了解