2012-05-20 4 views
4

Я использую jQuery для создания документа XML на лету, используя функцию document.createElement. Это отлично работает для создания структуры, поскольку я могу использовать функцию .appendTo для динамического размещения правильных узлов в правильном порядке. Проблема возникает, когда я устанавливаю атрибуты элементов, которые я создаю. Как только они создаются, они устанавливаются в нижний регистр и никогда не сохраняют свой случай. Это неприемлемо, потому что атрибуты не будут соответствовать ожидаемому формату вниз по течению.Как я могу сохранить регистр атрибутов элемента?

Я попытался создать XML-документ на лету, объединив строки, но это не сработает из-за того, что узлы могут быть вложенными.

Можно ли использовать метод createElement, который сохраняет случай каждого атрибута?

ответ

2

первая часть, поскольку вы создаете HTMLNode, она будет следовать DTD HTML, поэтому она превратилась в строчный. Вы можете использовать .setAttributeNS(NS, key, value) и .creatElementNS().

вторая часть, не получили вас ...

пример: http://jsfiddle.net/N52Qa/

+0

Есть ли DTD, что позволяет CamelCase атрибуты? – Brandon

+0

укажите настраиваемое пространство имен, а затем сделайте все, что хотите. – xiaoyi

+0

Я могу подтвердить, что «creatElementNS» с «нулем» в качестве первого аргумента творит чудеса! Большое спасибо! – mevdschee