Разбор XML - PullRequest
       0

Разбор XML

0 голосов
/ 06 июля 2010

У меня есть этот XML-файл:

    Response: <ns3:ExecuteResponse xmlns:ns3="http://www.opengis.net/wps/1.0.0" xmlns:ns1="net/ows/1.1" xmlns:ns2="http://www.w3.org/1999/xlink" statusLocation="xxxxf62" serviceInstance="http:/http-post" version="1.0.0" service="xxx">
<ns3:Process ns3:processVersion="0.2">
<ns1:Identifier>OM_B</ns1:Identifier>
<ns1:Title xml:lang="en-US">Bioclim</ns1:Title>
<ns1:Abstract xml:lang="en-US">yyyyyyyyyyyyyyyy</ns1:Abstract>
</ns3:Process>
<ns3:Status creationTime="2010-07-06T17:38:13.355+02:00">
<ns3:ProcessAccepted>ProcessConfiguration has been accepted.</ns3:ProcessAccepted>
</ns3:Status>
<ns3:ProcessOutputs />
</ns3:ExecuteResponse>

Как извлечь атрибут statusLocation в узле ExecuteResponse?

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 06 июля 2010

Получили ли вы этот XML-файл через XMLHttpRequest? Если это так, вы можете использовать его свойство responseXML.

alert(xhr.responseXML.documentElement.getAttribute("statusLocation"));

Или с помощью jQuery:

$.ajax({
    type: "GET",
    url: "yourfile.xml",
    dataType: "xml",
    success: function(xml) {
        alert(xml.documentElement.getAttribute("statusLocation"));
    }
});
0 голосов
/ 06 июля 2010

Вот один из способов сделать это:

var xml = null;
function loadXML(myURL){
    $.ajax({
        type: "GET",
        url: myURL,
        dataType: ($.browser.msie) ? "text" : "xml",
        error: function(){
            return;
        },
        success: function(data){
             if (typeof data == "string") {
               xml = new ActiveXObject("Microsoft.XMLDOM");
               xml.async = false;
               xml.loadXML(data);
                } else {
               xml = data;
             }
        }
    });
};
$(loadXML("common/glossary.xml"));

тогда

$(xml).find('something')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...