Показать сообщение отдельно
  #1 (permalink)  
Старый 27.02.2011, 18:53
Аватар для Armen
Кандидат Javascript-наук
Отправить личное сообщение для Armen Посмотреть профиль Найти все сообщения от Armen
 
Регистрация: 28.06.2009
Сообщений: 120

Получение XML документов
Подскажите пожалуйста, что не так, почему не работает скрипт, вроде все делаю правильно
Хочу с сервера забрать xml документ и прочитать его, xml находится в одной и той же папке со скриптом

<script type="text/javascript">
XML.newDocument = function ( rootTagName, namespaceURL )
{
if (!rootTagName) rootTagName = "";
if (!namespaceURL) namespaceURL = "";
if ( document.implementation && document.implementation.createDocument )
{
// Способ создания в соответствии со стандартом W3C
return document.implementation.createDocument( namespaceURL, rootTagName, null );
}
else
{
// Способ, специфичный для IE cоздать пустой документ как ActiveXобъект.
// Если корневой элемент не определен, на этом создание документа можно считать законченным
var doc = new ActiveXObject("MSXML2.DOMDocument");

// Если корневой элемент определен, инициализировать документ
if (rootTagName)
{
// Проверить наличие префикса пространства имен
var prefix = "";
var tagname = rootTagName;
var p = rootTagName.indexOf(':');

if (p != -1)
{
prefix = rootTagName.substring(0, p);
tagname = rootTagName.substring(p+1);
}

// Если пространство имен определено, должен быть префикс пространства имен.
// Если пространство имен не определено, необходимо удалить существующий префикс
if (namespaceURL)
{
if (!prefix) prefix = "a0"; // Используется в Firefox
}
else prefix = "";

// Создать корневой элемент (с необязательным пространством имен) в виде текстовой строки
var text = "<" + (prefix?(prefix+":"):"") + tagname + (namespaceURL ? (" xmlns:" + prefix + '="' + namespaceURL +'"') :"") + "/>";
// И преобразовать текст в пустой документ
doc.loadXML(text);
}

return doc;
}
};

XML.load = function(url)
{
// Создать пустой документ с помощью функции, определенной ранее
var xmldoc = XML.newDocument();
xmldoc.async = false; // Загрузка выполняется синхронно
xmldoc.load("test.xml"); // Загрузить и проанализировать
return xmldoc; // Вернуть документ

alert(xmldoc)
};
</script>
Ответить с цитированием