1

データ間に内容の違いはありますか?

おそらく、ドキュメントには、作成者、最終編集日などの追加のメタデータが含まれている可能性がありますか?

私は、w3スクールのdomparserの例に、xml文字列とxmlドキュメントをロードするための2つの完全に異なる方法がある理由を理解しようとしています。

たとえば、両方のソースにが含まれているとします<book><page1>Hello World!</page1></book>

提供される最初のメソッドは、XMLHttpRequest()とresponseXMLを使用してjsオブジェクトxmlDocをロードし、2番目のメソッドはDOMParser()とparseFromString()を使用します。

各メソッドで作成されたJSオブジェクトはどのように異なりますか?

4

3 に答える 3

1

両方の方法の結果は、xml構造を表すオブジェクトです。

最初の方法は、XMLHttpRequestを使用してリモートの場所からxmlドキュメントをロード(および解析)することです。

2番目の方法は、スクリプトにxmlコンテンツが既に含まれていることを前提としています(変数に格納され、どのようにそこに到達したかは関係ありません)。次に、xml文字列の内容がオブジェクトに解析されるため、xmlデータに対して簡単に操作を実行できます(これは文字列では不可能です)。

結果のxmlオブジェクトは次のように操作できます。

var p = new DOMParser()
xmldoc = p.parseFromString('<book><page1>Hello World!</page1></book>', 'text/xml')

xmldoc.childNodes.item(0) // the <book> tag
xmldoc.childNodes.item(0).childNodes.item(0) // the <page1> tag
xmldoc.childNodes.item(0).childNodes.item(0).textContent // "Hello World!"
于 2012-12-22T23:41:02.937 に答える
0

最初の例では、まだロードする必要のあるXMLファイルからXMLツリーを構築します。そのためにXMLHttpRequestを使用します。これは、WebサーバーからXMLファイルをロードし、それを自動的に解析してXMLドキュメントを作成します。

2番目の例では、XMLコードを含む既存の文字列からXMLツリーを構築します。

于 2012-12-22T23:39:26.377 に答える
0

xmlドキュメントはxml宣言で始まる必要があります。

http://www.w3.org/TR/REC-xml/#sec-prolog-dtd

この宣言は、xml文字列に存在しない可能性があります。

于 2012-12-23T01:24:54.910 に答える