Как вытащить текст из тэга XML-документа? (Не AJAX))
Задача: подгрузить xml-документ в html-документ и нажатием на кнопку запустить скрипт на JS, который вытащит текст из тэга xml-документа и выдаст его через alert(); xml и html документы лежат в одной папке.
В xml нуб, поэтому вопрос: можно ли подгружать в html-документ xml-документы через тэг link? Если да, то как обратиться с содержимому с помощью JS? Если нет, то через какой тэг они (xml-документы) подгружаются? |
Ajax
|
ИЕ онли... :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>
|
То есть кроссбраузерно никак? Файлы лежат в одной папке не на сервере, а дома, на компе. Про тег <xml>, который работает только в IE, знаю.
|
iframe/object
|
Цитата:
AJAX запросы локально умеет делать только FF. Загружать XML файлы, в том числе и локально умеют IE и FF. Поэтому нужно или поставить легкий сервер, например nginx или заточить все это только под один браузер. Например сделать это ввиде HTA приложения. Хотя вот Nekromancer советует iframe/object. |
Magneto,
или загрузить xml файл в iframe и вытащить всё что нужно. |
Цитата:
p.s. Ребята, спасибо вам большое за то, что отвечаете. |
Цитата:
|
Тю блин, нужно читать заголовки темы :D
|
FINoM,
Да не, ответ получился в тему. Аякс лучший вариант :) |
Цитата:
Цитата:
|
FINoM,
Ну я iframe и советовал. Но это не отменяет того, что аякс в принципе лучшее решение. Тем более iframe таки тоже аякс :) |
http://ru.wikipedia.org/wiki/AJAX — даже не вписывается в название, Айфрейм вполне себе синхронный.
|
FINoM,
Скриптом создали скрытый айфрейм, он грузится, страница работает. Называется iframe transport. |
Цитата:
|
FINoM,
Ну блин, при таком подходе и JS синхронен. И XHR и script transport. |
Цитата:
|
Хотя, может о транспорте я гоню...
|
FINoM,
JS - псевдо асинхронен, как и большинство транспортов. А XHR всего навсего поваляет включить полную синхронность. загрузка через iframe transport не отличается по синхронности с script transport. можете просто посмотреть на этом же сайте об этих транспортах. |
Цитата:
(Pardon my French) |
Цитата:
Цитата:
|
Magneto,
Ну само собой отпадает, этот пост постился не для ответа автору. Ответ был с iframe. А это постилось для того, что бы сказать, что аяксом в идеале было бы лучше (если бы конечно можно было). |
Вобщем так как мне нужно с iFrame`ом работает везде кроме Хрома. И xhtml1.1 ругается на iFrame
|
Поставьте доктайп для iframe'ов.
|
ILL-JAH,
Это не значит, что оно не работает - раз. Используй HTML5 - два. Вставляй iframe динамически - три. Профит :) |
Цитата:
Цитата:
Цитата:
|
ILL-JAH,
зачем? |
Nekromancer, что "зачем"?
|
Цитата:
|
Ну есть же заморачивающиеся на xhtml 1.0 strict
|
ILL-JAH,
и что сейчас, быть как они? Если кто и заморачивается, то он знает зачем. Он знает XML и делает это для работы с ним и XSLT. ИЕ старый не поддерживает xhtml формат. |
какой именно старый?
|
< 9. Именно xhtml формат, а не доктайп.
|
Цитата:
|
Ребят, подаскажите, а как парсить xml в Хроме? Как в нём AJAX работает?
|
Что значит как? Нормально работает, как и везде. XMLHttpRequest
|
То есть XHR присылает не сам xml-файл, а данные из него (дерево элементов)?
|
Цитата:
Первая книжка в моём списке, прочтите внимательно. |
ILL-JAH,
XHR - получает. Может получать текст и вы вручную парсите xml через DOMParser, либо сервер посылает mime type - application/xml, и у вас xml в responseXML. |
| Часовой пояс GMT +3, время: 09:50. |