0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 21
1

DOMDocument.load(), ошибка No data available for resource

20.04.2008, 19:46. Показов 3450. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Беру вот такой пример из MSDN, вставляю в свой код.
----------------
var xmlDoc = new ActiveXObject('Msxml2.DOMDocument.4.0');
xmlDoc.async = false;
xmlDoc.load('C:\temp\books.xml');
alert(xmlDoc.xml);
----------------
Всё работает.

Теперь меняю URL с локального на сетевой (что-то вроде http://server/virtualdirectory/filename.xml) - отказывается загружать с ошибкой No data available for resource. Если тот же URL набрать просто в браузере - всё нормально загружается.

В чём может быть дело? Или загрузка принципиально возможна только с локала?

Вроде бы судя вот по этому фрагменту MSDN любой URL должен проходить...
----------------------
Script Syntax
boolValue = oXMLDOMDocument.load(xmlSource);
Parameters
xmlSource
A string containing a URL that specifies the location of the XML file.
----------------------
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2008, 19:46
Ответы с готовыми решениями:

объект Msxml2.DOMDocument, метод load
Hello, All! Подскажите кто-нибудь почему у меня не получается загрузить xml-документ? Причем...

Ошибка "Could not load file or assembly MySql.Data"
Стоит win2003 иис6 на него ставится самописный сайт на асп.нет VisualStudio 2010, net frame 4.0....

Failed to load resource 403 (Forbidden), Ошибка при загрузке $('.').load(.)
При выполнении скрипта JQuery $('#rezult').load('page.php') у всех пользователей загрузка...

Ошибка: Failed to load resource: net::ERR_CONNECTION_TIMED_OUT
Здравствуйте! Я совсем новичок в WordPress, поэтому просьба рассказать на пальцах. В базе данных...

21
DiP
22.04.2008, 02:24 2
Кажется сей анализатор предъявляет собственные требования к хмл - проблема наверняка именно внутри хмл. В частности, попробуй выкинуть из файла доктайпы, чтобы осталось чисто
<?xml version='1.0'?>
<STRUCTURE>
...
Если не поможет (что врядли) то погляди на метод .loadxml - может чего-нибудь придумаешь, хотя .load прекрасно ест урл.
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
22.04.2008, 11:50 3
Можешь попробовать Msxml2.ServerXMLHTTP.4.0 или Msxml2.XMLHTTP.4.0
0
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 21
22.04.2008, 22:22  [ТС] 4
DiP: Я обрезал .xml по самые уши:
-----------------------
<?xml version='1.0'?>
<tbl_zaiAuthors>
<menus/>
</tbl_zaiAuthors>
-----------------------
Что в лоб, что полбу - таже самая ошибка...
Да и вообще любую абракадабру можно написать там. Судя по всему до анализа содержимого файла дело не доходит.
0
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 21
23.04.2008, 01:42  [ТС] 5
t1k: Да, Msxml2.XMLHTTP.4.0 почти помогает -
---------------------------
//загружаем файлик
var xmlhttp = new ActiveXObject('Msxml2.XMLHTTP.4.0');
xmlhttp.Open('GET', 'http://server/virtualdir/test.xml', false);
xmlhttp.Send();
// и успешно скармливаем его loadXML()
var source = Server.CreateObject('Msxml2.DOMDocument.4.0');
var load_res = source.loadXML(xmlhttp.responseXML.xml);
---------------------------
Но штука в том, что к .xml нужен ещё .xsl, и .xsl этот тоже приходится через Msxml2.XMLHTTP.4.0 грузить... И это бы не беда (подумаешь три лишних строчки в коде), однако ирония в том, что .xsl мой сам по себе не простой, он содержит ещё одну ссылочку - <xsl:include href='http://.../common.xsl' /> и вот с этим я уже что-то не могу справиться...
IMHO не туда куда-то это извращение заводит, должно как-то всё-таки DOMDocument.load() заставить работать...
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
23.04.2008, 11:14 6
Я внимательно посмотрел справку по Msxml2.DOMDocument.Load, но там даже в примерах не указано, что можно грузить по HTTP протоколу. Только локальные файлы или ресурсы.
0
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 21
23.04.2008, 12:13  [ТС] 7
Недостаточно внимательно... Цитирую справку Microsoft XML 4.0 Parser SDK:
Loading and Saving XML

Microsoft® XML Core Services (MSXML) provides two methods for loading XML documents into the Document Object Model (DOM) and one method and one property for serializing that object model back into an XML stream. The load and loadXML methods parse documents into a DOM. The save method and xml property convert the DOM back into an XML document. The load and save methods are used to retrieve information from outside a script, while the loadXML method and xml property are generally used inside scripts, parsing and returning XML strings found inside.

Use the load method to load an XML file by path name, URL, or from a Microsoft Internet Information Services (IIS) Request object.

The following example loads an XML file by URL.

XMLDoc.load('http://www.example.com/reports.xml')
The document object, XMLDoc, will load the reports.xml document, parse it, and, depending on the content of the document, create an object tree representing the document or report an error.
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
23.04.2008, 12:41 8
В свое оправдание могу только сказать, что я внимательно посмотрел лишь примеры к Msxml2.DOMDocument.Load. А вообще лично у меня Load работает и с http://localhost, так что в чем у тебя проблема сказать трудно

Set o = CreateObject('Msxml2.DOMDocument.4.0')
o.Async = False
o.Load 'http://localhost/test/xml.xml'
MsgBox o.XML

<?xml version='1.0' encoding='windows-1251'?>
<root />
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
23.04.2008, 12:51 9
Возможно проблема в наличии у тебя прокси, тогда должна помочь утилита proxycfg.exe от ms. Впрочем у себя я так и не смог нормально настроить с ее помощью
0
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 21
23.04.2008, 12:59  [ТС] 10
Да всё гораздо проще. Windows XP + IIS её родной, на локальной тачке. Сеть вообще можно отлючить, чтобы не мешала. Никакие прокси и т.п. там рядом не стояли.

З.Ы. Proxycfg.exe никаких дополнительных возможностей по сравнению IEшным с диалогом Tools | Internet options | Connections | LAN Settings не даёт.
0
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 21
23.04.2008, 13:17  [ТС] 11
-------------
Set o = CreateObject('Msxml2.DOMDocument.4.0')
o.Async = False
o.Load 'http://localhost/test/xml.xml'
MsgBox o.XML
-------------
Так ты где этот скрипт запускаешь, на стороне клиента чтоли???
Речь-то об ASP идёт!
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
23.04.2008, 13:44 12
Хе-хе, а в ASP-то и впрямь не работает, хотя и там вроде WSH используется. А proxycfg нужна для конфигурации ServerXMLHTTP, а XMLHTTP пользуется настройками браузера.
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
23.04.2008, 13:53 13
С другой стороны если работа идет в ASP почему бы не использовать Server.MapPath.
0
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 21
23.04.2008, 14:03  [ТС] 14
Так в том то всё и дело что MapPath тут не поможет. Искомый ресурс в окончательном варианте в виде файла существовать НЕ БУДЕТ. Нужный XML будет получаться путём запроса к MS SQL Server...
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
23.04.2008, 14:21 15
Ну так используй ServerXMLHTTP, ведь ResponseXML это и есть DOMDocument
0
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 21
23.04.2008, 14:27  [ТС] 16
Возникает проблема:
.xml я таким методом загружаю
.xsl тоже, если он простой, а если содержит ссылки на другие .xsl файлы (типа <xsl:include href='common.xsl' />) - опаньки: No data is available for the requested resource. Только не надо говорить 'не используй вложенные .xsl'!
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
28.04.2008, 12:19 17
У меня дома в ASP DOMDocument.Load работает абсолютно правильно, а вот на работе почему-то нет.
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
28.04.2008, 12:30 18
Тут полная инфа по этому вопросу вместе с решением

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q281142
0
4 / 4 / 5
Регистрация: 10.05.2007
Сообщений: 1,616
28.04.2008, 12:32 19
Причем понял почему у меня дома просто так работало, у меня же FAT 32
0
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 21
28.04.2008, 14:33  [ТС] 20
t1k: О Г Р О М Н О Е спасибо! Век тебя помнить буду!!! ))
0
28.04.2008, 14:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2008, 14:33
Помогаю со студенческими работами здесь

Ошибка при загрузке Failed to load resource
Добрый день, посоветуйте плиииз... не знаю с чего начать исправлять ошибку! Время от времени на...

Ошибка No DATA link drivers have been load в RvProject
В Дизайнере создаю простейший отчет по БД (MS ACCES 2000). При виполении его из дизайнера все в...

Ошибка "Failed to load resource"
Есть js файлы. Подключаю так: &lt;script...

Failed to load resource
Здравствуйте, при загрузке страницы из Украины - нужно загружать Api Вконтакте и Яндекс метрики......


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru