2010-12-30 5 views
0

Я имею дело со сценарием в JavaScript, который извлекает XML из внешнего источника и добавляет узлы из XML-файла в (X) HTML-документ.Добавление узла в (X) HTML из XML

У меня есть следующий код. (Не тестировался, только прототип)

var destination; // an <ul> in XHTML document 
var nodes = xmlDoc.getElementsByTagName("item"); // XML nodes 
for (var i = 0; i < nodes.length; ++i) { 
    var item = document.createElement("li"); // XHTML document 
    item.appendChild(nodes[i].cloneNode(true)); 
    destination.appendChild(item); 
} 

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

Спасибо!

+0

Что означает 'doc'? – Tomalak

+0

@Tomolak: XHTML. Отредактировал вопрос! –

+0

Вы добавляете к XML здесь 'nodes.appendChild (item)' не к XHMTL, и это даже коллекция, а не узел, у которого нет метода appendChild –

ответ

0

Похоже, importNode() делает то, что вы хотите.

Это стандартный DOM Level 2 Метод см the spec on w3.org в description on MDC:

Резюме
Создает копию узла из внешнего документа, который может быть вставлен в текущий документ.

Несмотря на то, что это стандартный метод, выполните проверку на поддержку кросс-браузера.

+0

@Tomalak: Я попробовал и, к сожалению, не работает ... Импортированный узел '' не отображается как ссылка. –

+0

@Tomalak: [this] (http://i51.tinypic.com/2qd8umd.png) - это верхняя половина результата рендеринга, нижняя панель Firebug. Это то же поведение, что и непосредственное добавление дочернего элемента XML в документ XHTML. –

Смежные вопросы