1

XML ドキュメントを解析しようとしていますが、どのように処理するのか少し混乱しています。たとえば、以下は私のXML文書を示しています

<document>
    <object name="Customer" type="class" x="137" y="63">
        <attributes>
        </attributes>
        <methods>
        </methods>
    </object>
    <object name="Item" type="class" x="539" y="275">
        <attributes>
        </attributes>
        <methods>
        </methods>
    </object>
    <link start="Customer" end="Item" type="generalization" />
</document>

私の場合、各「オブジェクト」をループしてオブジェクトを作成する必要があります。私のアプリでは、これは簡単ですobjectArray.push(new uml_Class(name));

ドキュメントのそれぞれをループして<object>、その名前の値を配列に挿入するにはどうすればよいでしょうか。

関数getElementsByTagName()が使用されることを読みましたが、これは私にとってはうまくいきません:

alert(documentXML);
var root = documentXML.getElementsByTagName('Object');

変数で XML を警告しdocumentXMLますが、firebug は次のように伝えます。 documentXML.getElementsByTagName is not a function

オブジェクトを繰り返し作成しながら、XML ドキュメントをループするにはどうすればよいでしょうか。

4

2 に答える 2

4

jQuery に組み込まれているXML 解析機能に興味があるかもしれません。

例(リンクから借用):

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "books.xml",
        dataType: "xml",
        success: xmlParser
    });
});

function xmlParser(xml) {

    $('#load').fadeOut();

    $(xml).find("Book").each(function () {

        $(".main").append('<div class="book"><div class="title">' + $(this).find("Title").text() + '</div><div class="description">' + $(this).find("Description").text() + '</div><div class="date">Published ' + $(this).find("Date").text() + '</div></div>');
        $(".book").fadeIn(1000);

    });

}
于 2012-05-09T00:13:44.763 に答える
0

XML ドキュメントであるため、タグ名は大文字と小文字が区別されません

var objects = documentXML.getElementsByTagName('object');

動作するはずです。document.getElementsByTagName()はすべての Document オブジェクトで利用できますDOMParser

于 2012-05-09T00:18:23.123 に答える