Вывод содержимого из файла XML с использованием jquery - PullRequest
0 голосов
/ 30 июня 2011

У меня возникли проблемы с сценарием jquery, который я пишу, так как я не могу получить его для получения нужных мне данных.

У меня есть XML-файл следующего вида (я представляю только фрагмент),

<page1>
  <title>First page</title>
  <description>Lorem ipsum</description>
  <image1 thumb='#'>images/image01.jpg</image1>
  <image2 thumb ='#'>images/image02.jpg</image2>
</page1>
<page2>
  <title>Second page</title>
  <description>Lorem ipsum</description>
  <image1 thumb='#'>images/image01.jpg</image1>
  <image2 thumb ='#'>images/image02.jpg</image2>
</page2>

Теперь я хочу найти способ получения описания в зависимости от значения заголовка. Мой код выглядит следующим образом, и я могу сказать, что что-то ужасно неправильно.

$(document).ready(function() {
  $.ajax({
  type: "GET",
  url: "xml_concept.xml",
  dataType: "xml",
  success: parseXml
  });  
});

function parseXml(xml) {
  $(xml).find("title":contains("First Page")) {
    $("#text-area").append('<div class="test-xml">' + $(this).text() + '</div>');
  }
}

Я почти уверен, что это относится не к тому, что я хочу, а к XML в целом? Если все правильно, как я могу выбрать содержимое тегов, которые мне нужны, и добавить их? Мне удалось успешно проанализировать контент, но не с помощью условий, которые я устанавливаю, поэтому я подумал об использовании операторов if или case / switch.

Другое дело, правильно ли я полагаю, что я использовал ': содержа' совершенно неправильно?

Ваша помощь очень ценится

Ответы [ 2 ]

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

Я нашел более подходящий способ достижения желаемых результатов, загружая внешний HTML-контент напрямую, а не полагаясь на один XML-документ.

0 голосов
/ 30 июня 2011

Проблема в этой строке:

$(xml).find("Title":contains("O2 Brandroom"))

... в частности, двоеточие после "Title", что является недопустимым синтаксисом Javascript.

Этот код предназначен для того, чтобы бит contains() был частью того же селектора, что и Title, поэтому попробуйте поместить все это в кавычки:

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