Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как вытащить текст из тэга XML-документа? (Не AJAX)) (https://javascript.ru/forum/misc/24226-kak-vytashhit-tekst-iz-tehga-xml-dokumenta-ne-ajax.html)

ILL-JAH 22.12.2011 03:49

Как вытащить текст из тэга XML-документа? (Не AJAX))
 
Задача: подгрузить xml-документ в html-документ и нажатием на кнопку запустить скрипт на JS, который вытащит текст из тэга xml-документа и выдаст его через alert(); xml и html документы лежат в одной папке.

В xml нуб, поэтому вопрос: можно ли подгружать в html-документ xml-документы через тэг link? Если да, то как обратиться с содержимому с помощью JS? Если нет, то через какой тэг они (xml-документы) подгружаются?

FINoM 22.12.2011 04:02

Ajax

ksa 22.12.2011 09:15

ИЕ онли... :D

tmp.xml
<?xml version="1.0"?>
<data>
	<line>
		<col1>1</col1>
		<col2>Item 1</col2>
	</line>
	<line>
		<col1>2</col1>
		<col2>Item 2</col2>
	</line>
</data>


tmp.html
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
function Get() {
	var o=document.getElementById("data").rows(0).cells(1);
	o=o.getElementsByTagName('span')[0];
	alert(o.innerHTML);
}
</script>
</head>
<body onload='Get()'>
<xml id='test' src='tmp.xml'></xml>
<table id='data' DataSrc='#test' border='1'>
	<tr>
		<td>
			<span DataFld='col1'></span>
		</td>
		<td>
			<span DataFld='col2'></span>
		</td>
	</tr>
</table>
</body>
</html>

ILL-JAH 22.12.2011 12:09

То есть кроссбраузерно никак? Файлы лежат в одной папке не на сервере, а дома, на компе. Про тег <xml>, который работает только в IE, знаю.

Nekromancer 22.12.2011 12:14

iframe/object

Magneto 22.12.2011 12:38

Цитата:

Сообщение от ILL-JAH (Сообщение 145168)
То есть кроссбраузерно никак? Файлы лежат в одной папке не на сервере, а дома, на компе. Про тег <xml>, который работает только в IE, знаю.

Локально, кроссбраузерно - не получится.
AJAX запросы локально умеет делать только FF. Загружать XML файлы, в том числе и локально умеют IE и FF. Поэтому нужно или поставить легкий сервер, например nginx или заточить все это только под один браузер. Например сделать это ввиде HTA приложения.

Хотя вот Nekromancer советует iframe/object.

Nekromancer 22.12.2011 12:41

Magneto,
или загрузить xml файл в iframe и вытащить всё что нужно.

ILL-JAH 22.12.2011 15:49

Цитата:

Сообщение от Nekromancer (Сообщение 145172)
Magneto,
или загрузить xml файл в iframe и вытащить всё что нужно.

Вот я над этим думаю. iframe - это же сплывающее окно? Браузеры его блокировать будут.

p.s. Ребята, спасибо вам большое за то, что отвечаете.

trikadin 22.12.2011 16:00

Цитата:

Сообщение от ILL-JAH
iframe - это же сплывающее окно? Браузеры его блокировать будут.

iFrame - это iFrame.

FINoM 22.12.2011 16:01

Тю блин, нужно читать заголовки темы :D


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