Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.07.2017, 13:45
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

не правильно достаю данные из xml файла
добрый день есть xml
Код:
<xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://morpher.ru/">
  <Р>теста тестового просто</Р>
  <Д>тесту тестовому просто</Д>
  <В>тест тестовый просто</В>
  <Т>тестом тестовым просто</Т>
  <П>тесте тестовом просто</П>
  <множественное>
    <И>тесты тестовые просто</И>
    <Р>тестов тестовых просто</Р>
    <Д>тестам тестовым просто</Д>
    <В>тесты тестовые просто</В>
    <Т>тестами тестовыми просто</Т>
    <П>тестах тестовых просто</П>
  </множественное>
</xml>
пытаюсь достать вот так
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "padeg.xml",
        dataType: "xml",
        success: xmlParserPadeg
    });
});

function xmlParserPadeg(xml) {

    var edinstvennoe;
    $(xml).find("xml").each(function () {
        alert($(this).find("Р").text());
        edinstvennoe = [
            $(this).find("И").text(),
            $(this).find("Р").text(),
            $(this).find("Д").text(),
            $(this).find("В").text(),
            $(this).find("Т").text(),
            $(this).find("П").text()
        ];
    });
    var mnogestvennoe;
    $(xml).find("множественное").each(function () {
        alert($(this).find("Р").text());
        mnogestvennoe = [
            $(this).find("И").text(),
            $(this).find("Р").text(),
            $(this).find("Д").text(),
            $(this).find("В").text(),
            $(this).find("Т").text(),
            $(this).find("П").text()
        ];
    });

}
мне нужно сделать два массива, но в массиве edinstvennoe оказывается и то что находится в "множественное"? как мне правильно сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 05.07.2017, 23:31
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

prog77,
$(this).children("Р").text()
Ответить с цитированием
  #3 (permalink)  
Старый 06.07.2017, 16:28
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

Rise,
Попытался достать xml Не из файла а на прямую по адресу http://api.morpher.ru/WebService.asmx/GetXml?s=Тест, где и брал для примера но ничего не вышло
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "http://api.morpher.ru/WebService.asmx/GetXml?s=Тест",
        dataType: "xml",
        success: xmlParserPadeg
    });
});
Ответить с цитированием
  #4 (permalink)  
Старый 06.07.2017, 16:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

prog77,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  div{
    margin: 8px;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function () {
    var word = "Тест"
    $.ajax({
        type: "GET",
        url: "http://api.morpher.ru/WebService.asmx/GetXml?s="+word,
        dataType: "xml",
        success: xmlParserPadeg
    });

function xmlParserPadeg(xml) {

    var edinstvennoe;
    $(xml).find("xml").each(function () {
        edinstvennoe = [
            word,  //нет children("И")
            $(this).children("Р").text(),
            $(this).children("Д").text(),
            $(this).children("В").text(),
            $(this).children("Т").text(),
            $(this).children("П").text()
        ];
    });
    var mnogestvennoe;
    $(xml).find("множественное").each(function () {
        mnogestvennoe = [
            $(this).find("И").text(),
            $(this).find("Р").text(),
            $(this).find("Д").text(),
            $(this).find("В").text(),
            $(this).find("Т").text(),
            $(this).find("П").text()
        ];
    });
    $("#one").html(edinstvennoe.join("<br>"));
    $("#many").html(mnogestvennoe.join("<br>"));
}
});
  </script>
</head>

<body>
<div id="one"></div>
<div id="many"></div>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 06.07.2017, 16:57
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно отправлять данные Mukhtar AJAX и COMET 9 05.03.2013 09:56
как правильно сохранить XML? alex171069 Events/DOM/Window 5 24.01.2012 17:27
как правильно прочесть xml без подключения jQuery BorodinKO Общие вопросы Javascript 1 03.04.2011 23:23
Как правильно получить введенные данные в поле? buket jQuery 11 11.04.2010 19:59
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20