Как получить XML из Iframe - PullRequest
0 голосов
/ 05 января 2012

У меня есть iframe, который содержит строку XML. Я хочу извлечь его, чтобы сделать обработку в JavaScript или JQuery. Ниже приведен пример iframe

<iframe>
    <list>
        <request>
            <name>CourseDaoMarklogicImpl</name>
            <id>spring735cfdc6d848026363b835bfcc69c5026a56d217</id>
            <hits>21</hits>
            <durationsSum>3438</durationsSum>
            <durationsSquareSum>1481952</durationsSquareSum>
            <maximum>688</maximum>
            <cpuTimeSum>45</cpuTimeSum>
            <systemErrors>0</systemErrors>
            <responseSizesSum>-21</responseSizesSum>
            <childHits>0</childHits>
            <childDurationsSum>0</childDurationsSum>
        </request>
    </list>
</iframe>

Есть ли способ сделать это? Спасибо

Ответы [ 3 ]

1 голос
/ 05 января 2012

В случае, если это тот же домен:

alert($("<div>").append($("list", frames['nameOfMyIframe'].document)).html())
1 голос
/ 05 января 2012
$('<div>').append(  $(".iframe").contents()    ).remove().text()

edit

Теперь я видел, что это междоменный домен.

Это не сработает

, вместо этого следует использовать jSonP.

0 голосов
/ 05 января 2012

Попробуйте это:

// get the content of iframe and parse it to a jQuery object
var xml = $($("iframe").text());
// find a 'name' element and retrieve the text
xml.find('name').text(); // "CourseDaoMarklogicImpl"

Обновление:

Если это междоменное, вы должны получить данные другим способом.Вы можете использовать сервис YQL.

var url = ""; // url to your XML file

$.ajax({
  url: "http://query.yahooapis.com/v1/public/yql",
  data: {
    q: "select * from xml where url='" + url + "'",
    format: "json"
  }, 
  success: function(data) {
    console.log(data); // data is a Object representing XML data
  }
});

ЗДЕСЬ - пример.

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