Аватар для Maxsis
5 / 5 / 3
Регистрация: 10.06.2011
Сообщений: 242

Javasript не парсит XML документ

03.12.2016, 12:29. Показов 1004. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, форумисты. Я ньюфаг в веб-разработке, поэтому обращаюсь за помощью к вам...
Есть 2 файла

index.html
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
<head>
<title>Terminal</title>
<script type="text/javascript">
function readXML()
{
var xml=new XMLHttpRequest();
xml.open('GET','xml.xml',false);
xml.send();
var xmlData=xml.responseXML;
if(!xmlData)
{
    xmlData=(new DOMParser()).parseFromString(xml.responseText,'text/xml');
    var emp=xmlData.getElementsByTagName("employee");
    var name=emp[0].getElementsByTagName("name")[0].firstChild.data;
    var password=emp[0].getElementsByTagName("password")[0].firstChild.data;
    var bank=emp[0].getElementsByTagName("bank")[0].firstChild.data;
    document.write("Name:"+ name +"<br>");
    document.write("Bank:"+ bank +"<br>");
    }
}
</script>
</head>
<body>
<h1>LogIn</h1>
<button onclick="readXML()">Authorization</button>
</body>
</html>
и xml.xml
XML
1
2
3
4
5
6
7
8
9
<xml>
 <company>
   <employee>
    <name>Red</name>
    <password>12345</password>
    <bank>1000000</bank>
  </employee>
</company> 
</xml>
Почему браузер не выводит результат? Чувствую, что где-то ошибка, но не знаю где...

Добавлено через 11 минут
p.s. если написать alert("Bank:"+ bank +"<br>"); показывает -Bank:undefined<br>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2016, 12:29
Ответы с готовыми решениями:

Как на JavaScript преобразовать документ XML в формат JSON?
Добрый день, подскажите, пожалуйста, имеется ли такая возможность у javaScript? Есть файл в формате xml, необходимо перевести его в формат...

SimpleXML не парсит XML
Доброго всем времени суток. Столкнулся с такой проблемой: SimpleXML возвращает пустой объект при обработке XML-файла. Пробовал передать в...

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

7
 Аватар для newyork7776
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
03.12.2016, 13:13
Maxsis, посмотри на структру xml
0
 Аватар для Maxsis
5 / 5 / 3
Регистрация: 10.06.2011
Сообщений: 242
03.12.2016, 13:24  [ТС]
Цитата Сообщение от newyork7776 Посмотреть сообщение
посмотри
посмотрел, ничего не понял. все норм вроде. я не шарю
0
 Аватар для vettel
84 / 84 / 41
Регистрация: 14.02.2015
Сообщений: 320
03.12.2016, 14:55
Maxsis,
JavaScript
1
var name=emp[0].getElementsByTagName("name")[0].firstChild.data;
А какого ребенка вы ищете в теге name (и других), если внутри там только текст?
0
 Аватар для Maxsis
5 / 5 / 3
Регистрация: 10.06.2011
Сообщений: 242
03.12.2016, 17:19  [ТС]
Цитата Сообщение от vettel Посмотреть сообщение
только текст
и как заявить что я только текст ищу?
0
 Аватар для vettel
84 / 84 / 41
Регистрация: 14.02.2015
Сообщений: 320
03.12.2016, 20:31
Maxsis, для доступа к тексту вместо свойств firstChild.data нужно использовать свойство textContent.
1
 Аватар для Maxsis
5 / 5 / 3
Регистрация: 10.06.2011
Сообщений: 242
05.12.2016, 01:40  [ТС]
Цитата Сообщение от vettel Посмотреть сообщение
textContent.
не помогло, кнопка к примеру ничего не выводит (кстати, тоже не понимаю почему даже ошибку не выводит)
а если посмотреть через
JavaScript
1
alert("Name:"+ name +"<br>");
то показывает: Name:undefined<br>

Добавлено через 23 часа 48 минут
Возможно-ли получить ответ?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.12.2016, 02:16
JavaScript
1
2
3
4
5
6
var xmlData = (new DOMParser()).parseFromString(xml.responseXML,'text/xml'),
    employee = xmlData.querySelector('employee');
 
console.log('Name: ' + employee.querySelector('name').textContent);
console.log('Password: ' + employee.querySelector('password').textContent);
console.log('bank: ' + employee.querySelector('bank').textContent);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.12.2016, 02:16
Помогаю со студенческими работами здесь

Выделить уровни абстракции в коде, который парсит XML
Есть такой XML файл &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;groups&gt; &lt;group name=&quot;ГР1&quot;&gt; &lt;students&gt; ...

Как добавить узел в документ XML не загружая в память весь документ
Вот собственно вопрос сейчас использую XDocument. То есть формирую узел XElement, добавляю его в xDocument и пишу на диск весь xDocument....

Документ в Xml
Доброго времени суток всем, кто нибудь сталкивался с преобразованием документов в xml? даже не знаю с чего начать.... помогите плиз... ...

Xml документ
Перешел из delphi 7 в delphi 2010 и в старом проэкте возникло несколько проблем при получении информации с сервера var t_stream:...

Загрузка xml в документ
Добрый лень, есть выгрузка/загрузка документа в формат и из формата xml. Выгрузка работает идеально, все отлично, но вот загрузка не хочет...


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

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

Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru