Вклеить часть XML в HTML. Как?
Добрый день форумчанам ... Подскажите плиз как можно решить такую задачу: есть некий XML который приходит ко мне через AJAX и мне нужно кусок этого XML прикрепить к элементу с определенным id в документе HTML
Пример: мне нужно вклеить в тэг с id="forAdding" содержимое в тэге example id="2" из полученного XML HTML <!DOCTYPE html> <html> <head> <title></title> <script src="jsc/test.js" type="text/javascript"></script> </head> <body> <div id="forAdding"></div> </body> </html> XML <?xml version="1.0" encoding="UTF-8"?> <root> <example id="1"> <div class="test"> <div></div> </div> </example> <example id="2"> <div class="test"> <div></div> </div> </example> <example id="2"> <div class="test"> <div></div> </div> </example> </root> PS. Просьба при возникновении желания написать нечто вроде: "зачем изобретать велосипед используй jquery\motools\prototype и т.д." воздержаться от этого так как меня интересут PURE JS!!! |
а разве так не работает:
var doc = xhr.responseXML; var assorti = doc.getElementsByTagName("example") и разбирайте массив по полкам. А от желания написать нечто вроде "используйте JSON" тоже воздерживаться? ;) |
<!DOCTYPE html> <body> <script type="text/xml" id="xml-source"> <?xml version="1.0" encoding="UTF-8"?> <root> <example id="1"> <div class="test" xmlns="http://www.w3.org/1999/xhtml"> <div></div> </div> </example> <example id="2"> <div class="test" xmlns="http://www.w3.org/1999/xhtml"> <div><a href="#">Это должно быть ссылкой</a></div> </div> </example> <example id="2"> <div class="test" xmlns="http://www.w3.org/1999/xhtml"> <div></div> </div> </example> </root> </script> <script> (function(){ var xmlSource = document.getElementById('xml-source').textContent.trim(); var xmlDocument = new DOMParser().parseFromString(xmlSource, 'text/xml'); var exampleNode = xmlDocument.getElementsByTagName('example')[1]; document.body.appendChild(document.importNode(exampleNode.firstElementChild, true)); })() </script> </body> Не будет работать в IE8 (там нет DOMParser'а и importNode, хотя может можно обойтись и без импорта) Если xml'ка подтягивается через XMLHttpRequest, то DOMParser не нужен, так как XMLHttpRequest сам парсит документ. Если html-нодам не указать пространство имен, то они будут реализовывать интерфейс HTMLUnknownElement, то есть "неизвестный элемент" |
Огромное спасибо - помогло
|
Часовой пояс GMT +3, время: 18:00. |