首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sizzle解析XML文件?

使用Sizzle解析XML文件?
EN

Stack Overflow用户
提问于 2012-05-09 23:22:53
回答 1查看 464关注 0票数 0

我创建了一个库,用于解析和提取一组使用jQuery的XML文件中的信息。所以做这样的事情很简单:

代码语言:javascript
复制
$xml = $($.parseXML(xmlText))
title = $xml.find(".title>longName").text()

然后我意识到我的小库不应该依赖于所有的jQuery,而且我可能只需要使用Sizzle库就可以得到我想要的东西,因为这就是jQuery的.find方法的来源。然而,我在刚走出大门时遇到了麻烦。

Sizzle似乎没有parseXML函数。有没有办法传入一段XML文本并返回一个可以搜索的对象?

我注意到你可以在上下文中传递给Sizzle的find函数。但是,Sizzle.find(".title",xmlText)找不到任何东西。

有什么想法吗?是否可以使用Sizzle以与上面使用jQuery相同的方式解析XML?

注意:我希望能够以无头的方式或在Node上运行它,所以我不喜欢使用浏览器依赖项,比如DOMParser。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-09 23:33:59

您可以只使用jQuery中的parseXML

代码语言:javascript
复制
function parseXML( data ) {
    if ( typeof data !== "string" || !data ) {
        return null;
    }
    var xml, tmp;
    try {
        if ( window.DOMParser ) { // Standard
            tmp = new DOMParser();
            xml = tmp.parseFromString( data , "text/xml" );
        } else { // IE
            xml = new ActiveXObject( "Microsoft.XMLDOM" );
            xml.async = "false";
            xml.loadXML( data );
        }
    } catch( e ) {
        xml = undefined;
    }
    if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
        throw new Error( "Invalid XML: " + data );
    }
    return xml;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10519144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档