在 Javascript 中查询 XML

发布于 2024-12-10 17:25:48 字数 722 浏览 0 评论 0原文

我不知道如何使用 Javascript 查询 XML 文件。这可能不是 XML 真正适合的事情(我知道功能齐全的数据库可能是更好的选择)。我研究过 XQuery 等工具,但我不知道如何使用或者是否可以使用它。浏览器支持 XQuery 吗?我可以在 Javascript 文件中编写 XQuery 语句,以便可以在其他 javascript 函数中使用结果吗?任何帮助将不胜感激。
这是一些背景:

$.ajax({

    url: "http://api.wunderground.com/api/test.json",
    dataType: "jsonp",
    success: function (parsed_json) {
        //do stuff with json file
    $.ajax({
        type: "GET",
        url: "weather_map.xml",
        dataType: "xml",
        success: function(xml) {
            var value = $(xml).find('condition[name="Clear"]').text();
            alert(value);
                    // do stuff with XML file
        }
    });
        //do more stuff with json file
 });

I'm at a loss as to how to go about querying an XML file using Javascript. It's possible this isn't something XML is really suited for (i know a fully featured database might be a better option). I've looked into tools like XQuery, but I don't know how or if this is something I can use. Do browsers support XQuery? Can I write XQuery statements in Javascript files in such a way that I can use the results in other javascript functions? Any help would be appreciated.
Here is some context:

$.ajax({

    url: "http://api.wunderground.com/api/test.json",
    dataType: "jsonp",
    success: function (parsed_json) {
        //do stuff with json file
    $.ajax({
        type: "GET",
        url: "weather_map.xml",
        dataType: "xml",
        success: function(xml) {
            var value = $(xml).find('condition[name="Clear"]').text();
            alert(value);
                    // do stuff with XML file
        }
    });
        //do more stuff with json file
 });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

情泪▽动烟 2024-12-17 17:25:48

在 JavaScript 中处理 XML 的最简单方法之一是使用 jQuery。这是一个非常常见的 JavaScript 库,可用于处理 XML 文件。例如

var xml = '<students><student name="bob" last="smith"/><student name="john" last="doe"/></students>';
var value = $(xml).find('student[name="bob"]').attr('last');
console.log(value);  // prints: smith

不错的教程: http://www.switchonthecode.com/tutorials/xml-使用 jquery 解析

One of the easiest ways to process XML in JavaScript is to use jQuery. This is a very common JavaScript library which can be used to process XML files. For example

var xml = '<students><student name="bob" last="smith"/><student name="john" last="doe"/></students>';
var value = $(xml).find('student[name="bob"]').attr('last');
console.log(value);  // prints: smith

Nice Tutorial: http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery

許願樹丅啲祈禱 2024-12-17 17:25:48
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
简单 2024-12-17 17:25:48

您是否考虑过在浏览器中使用 http://xqib.org 中的 XQuery?

那里有一个很好的演示: http://xqueryguestbook.my28msec.com/

Did you consider XQuery in the browser from http://xqib.org?

There is a nice demo there: http://xqueryguestbook.my28msec.com/

写给空气的情书 2024-12-17 17:25:48

某些浏览器支持E4X,但我不知道覆盖范围有多广。它不是 xquery,但它是在 javascript 中处理 xml 数据的一种非常自然的方式。

var x=new XML("<root><el>hello, world</el></root>");
alert(x.el);

E4X 的一个很好的指南是 http://rephrase.net/days/07/06/e4x

E4X support is in some browsers, but I don't know how wide the coverage is. It's not xquery, but it is a very natural way of processing xml data in javascript.

var x=new XML("<root><el>hello, world</el></root>");
alert(x.el);

A good guide to E4X is http://rephrase.net/days/07/06/e4x

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文