Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.09.2013, 17:51
Интересующийся
Отправить личное сообщение для bogong Посмотреть профиль Найти все сообщения от bogong
 
Регистрация: 13.10.2011
Сообщений: 24

Вклеить часть 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!!!

Последний раз редактировалось bogong, 05.09.2013 в 17:53. Причина: неполное описание вопроса
Ответить с цитированием
  #2 (permalink)  
Старый 05.09.2013, 23:09
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

а разве так не работает:
var doc = xhr.responseXML;
var assorti = doc.getElementsByTagName("example")

и разбирайте массив по полкам.
А от желания написать нечто вроде "используйте JSON" тоже воздерживаться?
Ответить с цитированием
  #3 (permalink)  
Старый 06.09.2013, 04:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<!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, то есть "неизвестный элемент"
Ответить с цитированием
  #4 (permalink)  
Старый 11.09.2013, 15:03
Интересующийся
Отправить личное сообщение для bogong Посмотреть профиль Найти все сообщения от bogong
 
Регистрация: 13.10.2011
Сообщений: 24

Огромное спасибо - помогло
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ускорить вставку html из ajax? jey7 AJAX и COMET 7 27.05.2012 11:02
Как удалить из памяти весь XML документ? EisBerg Events/DOM/Window 1 03.04.2010 14:45
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17
На входе HTML получить на выходе просто текст, как? Dmitry Общие вопросы Javascript 2 25.08.2008 10:42
Как с помощью JS "на-лету" менять часть HTML кода greendoc Общие вопросы Javascript 2 18.03.2008 20:43