Как разобрать вложенный XML документ - PullRequest
0 голосов
/ 24 февраля 2020

Я заканчиваю оформление заказа в своей корзине покупок и отправляю платежные реквизиты в свой банк.

Я разобрался со всеми материалами Cross Origin и получил ожидаемый отклик на свой платеж сформируйте POST и поместите его в iFrame (через формы target = responseiframe).

В моей документации сказано, что я получу ответ: XML:

<?xml version="1.0"?>
<response CUSTOMERID="999" AMOUNT="999" STATUS="999" ERROR="999" ></response>

Я вижу через инспектор браузера, документ существует.

<iframe src="" name="responseiframe"  id="responseiframe">
    #document  
    <response  CUSTOMERID="999" AMOUNT="999" STATUS="999" ERROR="999">  
    </response>  
</iframe>

У меня вопрос, как мне получить доступ к документу в iframe и проанализировать атрибуты тега ответа. Я вытаскиваю волосы из-за того, что не знаю имени файла (например, пример. xml), так как он встроен в iframe, есть только один TagName и нет дочерних узлов, только атрибуты TagName. Поэтому многие вещи, которые я пробовал (в том числе ниже), просто терпят неудачу ....

$('#qcheck').on('click', function() {
    var xmlcontent=$('#responseiframe').contents().find('ncresponse');
    var xhttp = new XMLHttpRequest();   
    xhttp.onreadystatechange = function() {
       if (this.readyState == 4 && this.status == 200) {
           myFunction(this);
       }
    };  
    xhttp.open("GET",xmlcontent, true);     
    xhttp.send();       
    function myFunction(xml) {      
      var xmlDoc = xml.responseXML;
      document.getElementById("showxml").innerHTML = mlDoc.getElementsByTagName("ncresponse"); 
    } 
}

Я был бы очень признателен за помощь в этом, как и любой обычный метод javascript, который я использовал (getElementById, content.find, et c, et c) оказался бесплодным.

Спасибо

...