XMLを読み取って解析するjsスクリプトがあります。XMLHttpRequestリクエスト(XMLを返すphpスクリプトと接触する)からXMLを取得します。スクリプトは、最初のparentNodeの下に2つ以上のノードを受け取ることになっています。必要な2つのノードには明確に定義された名前があり、他のノードには任意の名前を付けることができます。phpからの出力は次のようになります。
<?xml version='1.0'?>
<things>
<carpet>
<id>1</id>
<name>1</name>
<desc>1.5</desc>
</carpet>
<carpet>
<id>2</id>
<name>2</name>
<height>unknown</height>
</carpet>
</things>
ここでは、すべてのカーペットに7つのノードがあります。
しかしそれはまたかもしれません:
<?xml version='1.0'?>
<things>
<carpet>
<id>1</id>
<name>1</name>
<desc>1.5</desc>
</carpet>
<carpet><id>2</id><name>2</name><height>unknown</height></carpet>
</things>
ここで、最初のカーペットには7つのノードがあり、2番目のカーペットには3つのノードがあります。私のjavascriptコードは、両方をまったく同じようにすばやくクリーンに処理する必要があります。可能であれば、各タグ間のすべてのテキストノードを削除したいと思います。したがって、上記のようなコードは常に次のように扱われます。
<?xml version='1.0'?>
<things><carpet><id>1</id><name>1</name><desc>1.5</desc></carpet><carpet><id>2</id><name>2</name><height>unknown</height></carpet></things>
それは迅速かつ効率的な方法で可能ですか?可能であれば、より効率的に、get関数(getElementsByTagName()、getElementById、...)を使用しないようにします。