Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > считать xml со страницы через javascript


Автор: AleXGray 27.1.2012, 19:41
Проблема в следующем:
а) есть html страница на которой есть вставка xml. xml имеет следующий вид: 
Код

<div id="operator">
<root>
                    <list name="andor">
                        <item value="AND" />
                        <item value="OR" />  
                    </list>
                   
                </root>
</div>

Мне необходимо считать этот хмл в js (или jquery) переменную. Проблема в том, что при считывании xml "ломается". Как только я делаю что-то вида $("#operator").html() или через innerHTML и т.п. у меня результирующий набор превращается в кашу, примерно такую:
Код

<root> <list name="andor"> <item value="AND"> <item value="OR"> </item></item></list> </root>

Вид хмл очень важен, менять на альтернативный нельзя. (Т.е. узлы должны закрываться именно так).
Может кто-нибудь подсказать код, который считал бы хмл правильно?

Автор: dipsy 27.1.2012, 22:58
я пока что сам не разбирался, но попробуйте погуглить про FileReader в JavaScript

Автор: AleXGray 27.1.2012, 23:02
Цитата(dipsy @ 27.1.2012,  22:58)
я пока что сам не разбирался, но попробуйте погуглить про FileReader в JavaScript

А как мне может помочь чтение локальных файлов? У меня принципиальное условие, чтобы хмл располагался изначально при загрузке страницы на ней самой. Подгрузки из других файлов не прокатывают.

Я пробовал хмл-код помещать в хмл-островки, пробовал помещать в CDATA, пробовал просто в тег pre но js плевать глубоко на эти извращения. При считывании он на фиг ломает мне весь хмл.

Автор: $дмитрий 28.1.2012, 02:37
Задача конечно странная, но раз нужно: открывай ajax-ом текущию страницу, регуляркой находи содержимое <div id="operator"> ... </div> и заноси в переменную

Автор: AleXGray 28.1.2012, 11:43
Цитата($дмитрий @ 28.1.2012,  02:37)
Задача конечно странная, но раз нужно: открывай ajax-ом текущию страницу, регуляркой находи содержимое <div id="operator"> ... </div> и заноси в переменную

суть в том, что нужно чтобы бралось С ТОЙ ЖЕ страницы, а не с ее копии, загруженной через аякс. Если бы можно было брать копию, я бы просто грузил хмл файл и не морочил голову. 

Начинает посещать мысль, что это невозможно в принципе...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)