Итак, у меня есть документ DOM, который выглядит по существу таким образом
<categories>
<category id="1"/>
<category id="2"/>
</categories>
Так выглядит документ в Firebug, как и ожидалось.
Однако, когда я отправляю это на сервер, я получаю
<categories>
<category id="1"/>
<category id="2"/>
</categories>
Действительно, doc.documentElement.firstChild.nodeName возвращает "CATEGORY". Узлы добавляются с помощью jQuery.append('<category> ').
Почему дочерние теги возвращаются во всех кепках?
Ответ 1
nodeName всегда возвращает имя верхнего регистра для HTML-элементов в DOM, обрабатываемых как HTML... однако не для XML.
подробнее здесь
Я не уверен, что это полностью отвечает на ваш вопрос, но я предполагаю, что часть ответа заключается в том, что ваш файл обрабатывается как документ HTML, по крайней мере, до имени nodeName.
Исправление: Это JQuery, обрабатывающее такие вещи, как HTML. Из этого предыдущего ответа на переполнение стека:
JQuery использует скрытый div innerHTML для создания дочернего node, поэтому капитализация отличается
Я уверен, что вы столкнулись с той же проблемой, что и в предыдущем ответе.