XML 中的值错误

Wrong value from XML

提问人:Elexer 提问时间:8/25/2020 最后编辑:Elexer 更新时间:8/25/2020 访问量:36

问:

我有这样的XML:

<Result>
    <Tours>
            <Tour>
        
        <id>116112250590@804</id>

        <operatorId>2672</operatorId>

        <cityId>1000</cityId>
        <countryId>12</countryId>
        <roomSizeId>14</roomSizeId>

        <departure>2020-09-16</departure>
        <arrival>2020-09-23</arrival>
        <duration>7</duration>
        <ticket>1</ticket>
        <directFlight>false</directFlight>
.............

尝试从 id 节点获取值 结果 > Tours > Tour > ID 数据是用 ajax 解析的 XML

$(data).find("Tour").each(function () {
        if ($(this).find("directFlight").text() == 'false') {
            var directFlight = "с пересадкой";
        } else {
            var directFlight = "прямой";
        }
        $("#tours").append('<div class="col-12">'+
            '<div class="card mb-4 shadow tour">'+
                '<div class="row no-gutters">'+
                    '<div class="col-md-3 main-image" style="background-image:url(http:' + $(this).find("Allocation>PreviewPhoto>url").text() + ');">'+
                        '<div class="rating p-2 rounded"><i class="far fa-star mr-2"></i>' + $(this).find("Allocation>rate").text() + '</div>'+
                        '<div class="price p-2 rounded">' + $(this).find("price").text() + '<i class="fas fa-ruble-sign ml-2"></i></div>'+
                    '</div>'+
                    '<div class="col-md-9">'+
                        '<div class="row no-gutters">'+
                            '<div class="col-md-7">'+
                                '<div class="card-body py-2">'+
                                    '<h5 class="card-title m-0">' + $(this).find("Allocation>name").text() + '</h5>'+
                                    '<span class="text-muted">' + $(this).find("Resort>name").text() + ' , ' + $(this).find("ResortPlace>name").text() + '</span>'+
                                '</div>'+
                                '<ul class="list-group list-group-flush">'+
                                    '<li class="list-group-item"><span class="text-muted">Номер:</span> ' + $(this).find("RoomSize>name").text() + ' (' + $(this).find("RoomSize>description").text() + ')</li>'+
                                    '<li class="list-group-item"><span class="text-muted">Вид:</span> ' + $(this).find("RoomView>name").text() + ' (' + $(this).find("RoomView>description").text() + ')</li>'+
                                    '<li class="list-group-item"><span class="text-muted">Питание:</span> ' + $(this).find("Meal>name").text() + ' (' + $(this).find("Meal>description").text() + ')</li>'+
                                    '<li class="list-group-item"><span class="text-muted">Тип номера:</span> ' + $(this).find("RoomType>name").text() + ' (' + $(this).find("RoomType>description").text() + ')</li>'+
                                '</ul>'+
                            '</div>'+
                            '<div class="col-md-5 border-left">'+
                                '<ul class="list-group list-group-flush">'+
                                    '<li class="list-group-item"><span class="text-muted">Вылет:</span> ' + $(this).find("departure").text() + ' (ночей: ' + $(this).find("duration").text() + ')</li>'+
                                    '<li class="list-group-item"><span class="text-muted">Перелет:</span> ' + directFlight + ' </li>'+
                                    '<li class="list-group-item"><span class="text-muted">Туроператор:</span> ' + $(this).find("Operator>name").text() + ' </li>'+
                                '</ul>'+
                                '<div class="text-center mt-3">'+
                                    '<button type="button" class="btn btn-primary tour-modal" data-id="' + $(this).find("id").text() + '">Подробнее</button>'+
                                '</div>'+
                            '</div>'+
                        '</div>'+
                    '</div>'+
                '</div>'+
            '</div>'+
        '</div>');

我在 XML 中的 id 值 116112250590@804,但在附加 id = 116112250590@80410001226721471250673211382422 之后

更新:添加了我的完整附加代码 这里截图:screenshot

jQuery XML 解析

评论

0赞 Julia 8/25/2020
预期产出是多少?
0赞 Elexer 8/25/2020
正确的身份证号码。
0赞 charlietfl 8/25/2020
因此,您有多个文本,并且附加文本不会与先前的文本进行任何分离Tour
0赞 Elexer 8/25/2020
但所有其他数据都正常显示。为什么显示后只有 ID 有附加值?
0赞 Dijkgraaf 8/25/2020
因为它也找到了所有其他带有 Id 的元素,所以你得到了一个元素的集合。

答:

0赞 Elexer 8/25/2020 #1

我在 .text() 之前使用 .first() 找到了解决方案。不知道为什么 .text() 无法正常工作。