Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   как получить весь xml (https://javascript.ru/forum/jquery/19144-kak-poluchit-ves-xml.html)

weeklyTea 27.07.2011 12:40

как получить весь xml
 
наверное глупый вопрос, но все таки:
в iframe вставлен xml файл, можно ли весь этот файл скопировать в какой-нибудь div ?

weeklyTea 27.07.2011 12:53

и еще один вопрос:
есть код:
<html>
<head>
	<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
	<script type="text/javascript">
		$(document).ready(function(){
			alert($('#ifr').contents().find('msgText').text());
		});
	</script>
</head>
<body>
	<iframe id="ifr" src="testXML.xml"></iframe>
	<div id="qwerty">
	</div>
</body>
</html>


testXML.xml выглядит так:
<?xml version="1.0" encoding="utf-8" ?>
<messages>
	<msg>
		<msgText>
		Message1
		</msgText>
	</msg>
	<msg>
		<msgText>
		Message2
		</msgText>
	</msg>
</messages>


как сделать, чтобы в алерте вылазило только "Message1" ?

melky 27.07.2011 13:22

....find('msgText*!*:first*/!*')....

weeklyTea 27.07.2011 13:27

а если элементов <msg> будет 60 штук, и мне надо будет получить содержимое <msgText> 47ого <msg>, то писать find('msgText:forty-seventh') ? )

kobezzza 27.07.2011 13:29

Цитата:

Сообщение от weeklyTea (Сообщение 115621)
а если элементов <msg> будет 60 штук, и мне надо будет получить содержимое <msgText> 47ого <msg>, то писать find('msgText:forty-seventh') ? )

:haha: :haha: :haha: :haha: :haha: :haha: :haha: :haha:

find('msgText:eq(46)')


46, т.к. отсчёт идёт от 0, а не от 1)

melky 27.07.2011 13:39

Цитата:

Сообщение от weeklyTea (Сообщение 115621)
а если элементов <msg> будет 60 штук, и мне надо будет получить содержимое <msgText> 47ого <msg>, то писать find('msgText:forty-seventh') ? )

:haha:

если так хотите, напишите об этом Резигу

weeklyTea 28.07.2011 06:58

спасибо )

еще один вопрос на очевидную тему: как можно получить все <msgText> в одном <msg>, если первых во втором несколько штук?

kobezzza 28.07.2011 13:46

find('msg:eq(46) > msgText')

melky 28.07.2011 17:43

Цитата:

Сообщение от kobezzza (Сообщение 115831)
find('msg:eq(46) msgText')

можно и без >, если надо "прям все", включая потомков потомков


Часовой пояс GMT +3, время: 02:11.