Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аналог свойства xmlNode.xml для Opera 
:(
    Опции темы
error
Дата 19.8.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 3.1.2006

Репутация: нет
Всего: нет



Каким образом можно получить xml в текстовом представлении из объекта xmlNode ?
В IE это делается посредством вызова свойства .xml, но вот тут указано, что это только для IE
Но должен же быть какой-то способ для Оперы?

Конкретная задача такая (AJAX) - я работаю в скрипте с xml-документом, меняю там узлы и т.д. Потом мне надо это отправить на сервер => требуется получить текст xml.
PM MAIL   Вверх
smartov
Дата 20.8.2007, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



PM MAIL   Вверх
error
Дата 20.8.2007, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 3.1.2006

Репутация: нет
Всего: нет



smartov, 
Так textContent выводит только текстовые узлы. А мне требуется получить полностью xml, с тегами. 

Что-то бред какой-то - если мы работаем с domDocument, то нет способов получить xml ?! Только тупо писать < domNode.nodeName > domNode.nodeValue </ domNode.nodeName >
А там ведь еще и атрибуты надо записывать...

В php у domDocument есть метод saveXML(), который делает то, что нужно. Но в стандартах (и в JS) не могу найти такого.

Это сообщение отредактировал(а) error - 20.8.2007, 14:54
PM MAIL   Вверх
Alx
Дата 29.8.2007, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



я сделал себе такой объект:
Код

dom = {
load_file : function(xmlfile)
{   if(document.implementation && document.implementation.createDocument)
    {   var doc = document.implementation.createDocument("","",null);
    }
    else if(window.ActiveXObject)
    {   var doc = Try.these(
          function() { return new ActiveXObject('MSXML2.DomDocument')   },
          function() { return new ActiveXObject('Microsoft.DomDocument')},
          function() { return new ActiveXObject('MSXML.DomDocument')    },
          function() { return new ActiveXObject('MSXML3.DomDocument')   }
        ) || false;
    }
    doc.async = false;
    doc.load(xmlfile);
    return doc || null;
},   
load_string : function(xmlstr)
{   if(document.implementation && document.implementation.createDocument)
    {    var parser = new DOMParser();
         var doc = parser.parseFromString(xmlstr,"text/xml");
    }
    else if(window.ActiveXObject)
    {   var doc = Try.these(
          function() { return new ActiveXObject('MSXML2.DomDocument')   },
          function() { return new ActiveXObject('Microsoft.DomDocument')},
          function() { return new ActiveXObject('MSXML.DomDocument')    },
          function() { return new ActiveXObject('MSXML3.DomDocument')   }
        ) || false;
        doc.async = false;
        doc.loadXML('<?xml version="1.0" ?>'+xmlstr);
    }
    return doc || null;
},   
xslt : function(xmldoc,xsldoc)
{   if(document.implementation && document.implementation.createDocument)
    {   var proc = new XSLTProcessor();
        proc.importStylesheet(xsldoc);
        var xhtmldoc = proc.transformToDocument(xmldoc);
        var ser = new XMLSerializer();
        return ser.serializeToString(xhtmldoc);
    }
    else if(window.ActiveXObject)
    {   return xmldoc.transformNode(xsldoc);
    }
},   
asXML : function(xmldoc)
{   if(document.implementation && document.implementation.createDocument)
    {   var ser = new XMLSerializer();
        return ser.serializeToString(xmldoc);
    }
    else if(window.ActiveXObject)
    {   return xmldoc.xml;
    }
}    
}    

юзать, например, так:

alert(dom.asXML(xmlNode))


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0626 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.