使用 jQuery 在浏览器中处理 XML
2010-01-20 00:00:00 来源:WEB开发网请注意,我使用了 x 前缀,这意味着,理论上我可以尝试上文提到过的基于前缀的黑客方法。但是,如果我这样做,它将会被破坏,如果我用 清单 5(quotes2.xml)中的 quotes 文件代替,它是与 清单 4 完全相当的名称空间,以及相同的 Canonical XML。
清单 5. (quotes2.xml)与清单 4 相当的 XML 文件,带有引用清单
<?xml version="1.0" encoding="utf-8"?>
<quotes xmlns='http://example.com'>
<q>Words have meaning and names have power</q>
<q>Sticks and stones will break my bones, but names will never hurt me.</q>
<q>The beginning of wisdom is to call things by their right names.</q>
<q>Better to see the face than to hear the name. </q>
</quotes>
如果您替代 清单 1 中的 quotes2.xml,您将发现它还起作用,这是一个针对名称空间的重要测试。图 1 是 quotes.html 的浏览器显示。
图 1. 使用 jQuery XML 工作台展示的引用
Atom XML 的动态显示
一旦您开始在 jQuery 中进行 XML 处理,您就能够处理更多有用的 XML 格式,包括 Web 提要格式,例如 RSS 和 Atom。在此部分我将使用 jQuery XML 工作台来显示来自一个 Web 页面上 Atom 提要的最新条目。清单 6 是 HTML 页面。
清单 6. (home.html)托管动态 XML 的 Web 页面<html>
<head>
<title>jQuery XML workbench</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="workbench.js"></script>
<script type="text/javascript" src="home.js"></script>
<!-- Put the XML file or URL in the href attribute below: -->
<link href="atom1.xml" type="application/xml" rel="target_XML" />
</head>
<body>
<h1>Caesar's home page</h1>
<p>GALLIA est omnis divisa in partes tres, quarum unam incolunt Belgae,
aliam Aquitani, tertiam qui ipsorum lingua Celtae, nostra Galli
appellantur. Hi omnes lingua, institutis, legibus inter se differunt.
</p>
<p>Gallos ab Aquitanis Garumna flumen, a Belgis Matrona et Sequana dividit.
</p>
<p>Horum omnium fortissimi sunt Belgae, propterea quod a cultu atque
humanitate provinciae longissime absunt, minimeque ad eos mercatores saepe
commeant atque ea quae ad effeminandos animos pertinent important,
proximique sunt Germanis, qui trans Rhenum incolunt, quibuscum continenter
bellum gerunt. Qua de causa Helvetii quoque reliquos Gallos virtute
praecedunt, quod fere cotidianis proeliis cum Germanis contendunt, cum aut
suis finibus eos prohibent aut ipsi in eorum finibus bellum gerunt.</p>
<h2>My <a href="feed.xml">Web feed</a></h2>
<div id="update-target"></div>
</body>
</html>
更多精彩
赞助商链接