Вход

Просмотр полной версии : не правильно достаю данные из xml файла


prog77
05.07.2017, 13:45
добрый день есть 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 оказывается и то что находится в "множественное"? как мне правильно сделать?

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: