У меня есть скрипт js, который читает и анализирует XML.
Он получает XML из запроса XMLHttpRequest (который связывается со скриптом php, который возвращает XML).
Предполагается, что скрипт получит 2 или более узлов под первым parentNode.
Два необходимых ему узла имеют четко определенное имя, остальные могут быть любыми.
Вывод из 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 узлов, второй ковер имеет 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, ...), если это возможно и если это более эффективно.