0

我正在尝试从 XSD 文档中获取一组元素。我已经下载并且正在使用最新版本的 jQuery (1.7.2)。引用的 xsd 是http://www.w3.org/2001/XMLSchema.xsd的本地副本,我使用的代码如下:

var xml;
$(function(){
    $.ajax({
        type:"GET",
        url:"http://www.w3.org/2001/XMLSchema.xsd",//"xml/XMLSchema.xsd",
        dataType: 'xml',
        success:function(result){
            xml = $(result);
        }
    });
});

这使我能够按预期将 xsd 加载到“xml”变量中,但是当我去查询它时,我最终会得到一些令人困惑的结果。使用:

$('complexType[name=simpleType]', xml).attr("name")
$('complexType[name="simpleType"]', xml).attr("name")

返回“未定义”,但是开头、结尾和开头和结尾返回正确的结果:

$('complexType[name^="simpleType"]', xml).attr("name")
$('complexType[name$="simpleType"]', xml).attr("name")
$('complexType[name$="simpleType"][name^="simpleType"]', xml).attr("name")

这就是名称“simpleType”。= 不起作用有什么原因吗?

提前致谢

4

1 回答 1

1

我认为您对名称空间的使用有疑问。你可以尝试使用

$('xs\\:complexType[name=simpleType]', xml).attr("name")

(请参阅此处的元字符转义)而不是

$('complexType[name=simpleType]', xml).attr("name")
于 2012-06-11T11:51:32.033 回答