Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   не правильно достаю данные из xml файла (https://javascript.ru/forum/jquery/69598-ne-pravilno-dostayu-dannye-iz-xml-fajjla.html)

prog77 05.07.2017 13:45

не правильно достаю данные из 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 оказывается и то что находится в "множественное"? как мне правильно сделать?

Rise 05.07.2017 23:31

prog77,
$(this).children("Р").text()

prog77 06.07.2017 16:28

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
    });
});

рони 06.07.2017 16:48

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>

prog77 06.07.2017 16:57

Спасибо:write:


Часовой пояс GMT +3, время: 15:03.