Я хотел бы получить XML из URL-адреса и проанализировать его с помощью JQuery. Я работаю в предположении, что с AJAX нельзя получить доступ к другому домену без доступа к перекрестному домену. Поэтому я создал PHP код, чтобы вернуть его (я не понимаю, как это то, что мы имеем дело с в 2015 году, но, возможно, я просто тупой):Извлечение XML из URL и анализа с помощью JQuery
header('Content-Type:xml');
$xmlDoc = new DOMDocument();
$xmlDoc->load("http://www.ncbi.nlm.nih.gov/pubmed/22375842?report=xml");
$xmlstring = $xmlDoc->saveXML($xmlDoc->documentElement);
print $xmlstring;
Теперь я использую функция AJAX для вызова этих данных:
$.ajax({
url: "loadXML.php", //+ searchString,
dataType: "xml",
type: "GET",
success: parseXml
});
Наконец, вот моя функция ParseXML, которая была протестирована с локальными страницами XML и работает отлично. Этот код повторяется много раз:
function parseXml(xml){
$(xml).find("Article").each(function()
{
$("#output").append($(this).attr("PubModel") + "<br />");
$("#ArticleTitle").append(": " + $(this).find("ArticleTitle").text() + "<br />");
});
$(xml).find("Author").each(function()
{
$("#Author").append(": " + $(this).find("LastName").text());
$("#Author").append(", " + $(this).find("ForeName").text());
});
};
Ничего не происходит. Кто-то за любовь к Зевсу, пожалуйста, помогите мне ... и улегся, я, по-видимому, не понимаю, как сделать что-то довольно простое для начала. Я думал о сохранении данных на странице PHP в локальном файле на моем сервере, но не смог обработать «<» и «>». Я немного здесь потерялся.
Добавить 'console.log (XML),' в ' parseXml' и опубликовать результат. – Hackerman
Правильный способ настройки заголовка содержимого - 'header (« Content-Type: text/xml »)' – roeland
добавил console.log (xml); в функции parseXml и ничего не изменилось. Также исправлен заголовок типа содержимого. – user2954658