Как вытащить текст из тэга 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, время: 02:37. |