2013-07-08 4 views
1

Ниже у меня есть фрагмент кода PHP, который по существу копирует XML-файл с другого сайта и печатает его на моей странице index.php. Я делаю это из-за доступа-control-allow-origin, так что я могу получить данные с помощью AJAX (не разрешено из других доменов (это называется прокси?)).Как помещать данные XML в массив/объект?

<?php 
    header ("Content-Type:text/xml"); 
    $url = 'http://pathtoxmlfilehere.com/blablabla.xml'; 
    $xml = file_get_contents($url); 
    print $xml; 
?> 

Итак, теперь у меня есть этот файл на том же сервере, как у меня, мне просто нужно сделать вызов AJAX, чтобы получить его, не так ли? Итак, я использую jQuery, поэтому могу использовать $ .get().

$.get('PathToLocalXmlThatIUsedPhpToDownload', function(data) { 
    // What goes in here? 
    // Do I need to parse the data as XML? 
}); 

Мне нужно поместить данные в объект/массив (не уверен, что более уместно), так что я могу манипулировать/отобразить его легко. Я изо всех сил пытаюсь это сделать, если кто-нибудь может мне помочь, я бы очень признателен. Я читал другие подобные вопросы, и их решения, похоже, не работают для меня, поэтому я решил опубликовать свою точную ситуацию, чтобы найти более точные ответы.

Благодаря

+0

Каких из подобных вопросов вы читали и какие из их решений имеет вас пытался? Было бы хорошо знать, что контекст к ним очень, очень точный, поскольку вы написали, что хотите на этот раз что-то очень точное. Пожалуйста, предоставьте этот очень точный контекст. – hakre

+0

Из принятого ответа я должен признать, что я не вижу, как ваш вопрос * точно * отличается от существующего материала Q & A. Я могу сказать, что ваш вопрос, по крайней мере, правильно сформулирован, и ответ здесь также, поэтому, если бы вы могли наметить, что именно * ваша проблема была здесь, было бы хорошо, если бы это было написано. – hakre

ответ

1

Вы можете указать тип данных xml в вашем запросе GET. Объект data затем будет корень XML элемент:

$.get('PathToLocalXmlThatIUsedPhpToDownload', function(data) { 
    //work with xml here 
}, 'xml'); 

Это, вероятно, более эффективно работать с XML напрямую, а не преобразовывать его в JavaScript Object, а затем работать с данными. Однако, если это имеет смысл в контексте вашей проблемы, чтобы использовать JavaScript Object, смотрите ответ на этот пост: Tool (javascript) to convert a XML string to JSON

http://api.jquery.com/jQuery.get/

+0

Спасибо за ваш ответ. Как я могу работать с XML напрямую с помощью JavaScript? – jskidd3

+0

Я хотел бы помочь, но это не подходит для этого вопроса, потому что нет краткого ответа. Вы можете начать с поиска javascript XML-руководств по манипуляциям, а затем опубликовать вопросы о конкретных проблемах, которые у вас есть. Удачи! – cfs

+1

Спасибо, не проблема! Я только что опубликовал более конкретный вопрос и решил проблему почти сразу после публикации. Еще раз спасибо 8-) – jskidd3