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")

「undefined」を返しますが、で始まり、で終わり、で始まり、で終わると、正しい結果が返されます。

$('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 に答える