2009-06-27 8 views
0

Я пытаюсь использовать jquery для разбора xml.jquery for xml parsing

Отрывок из моего XML выглядит следующим образом

<ex>Some text here <it>some italic text</it> some more text <it>text more </it> text text <it>some more italic</it>go go</ex> 

Я хочу, чтобы получить текст внутри и теги и отображать мое содержание следующим образом

Some text here <i>some italic text</i> some more text <i>text more</i> text text <i> some more italic</i> go go 

В принципе, получить текст из, а также и форматировать его, как показано выше

Любая помощь приветствуется

Спасибо

ответ

1

Вы могли бы попробовать что-то вроде этого, я не уверен на $ это .text(), так как это может игнорировать теги разметки, которые у вас есть в xml, поскольку вы не можете использовать метод .html() в XML-документах. Должно надеяться, укажу вам в правильном направлении. Это также предполагает, что у вас есть несколько тегов «ex».

$.get("youXML.xml", 
      function(data){ 
       var parsedHTML = "<div>"; 

       //For each ex tag do this 
       $(data).find("ex").each(function(){ 
        var $this = $(this);//The current ex tag we are iteration over 
        parsedHTML += "<p>" + $this.text() + "</p>"; 
       }); 
       parsedHTML += "</div>"; 

       $("#container").html(parsedHTML); 
      }); 
+0

Спасибо за ответ, но я хотел бы выяснить его тег и заменить его тегом html italics - любые указатели на то, как их заменить? $ this.text() предоставит весь текст в теге ex, который не является тем, что я действительно хочу – Sunil

+0

Я думаю, что это сделает работу http://docs.jquery.com/Manipulation/replaceWith#content. Заменить на на и т. Д., Может быть случай чтения во всей строке текста, а затем выполнить его на строке и снова вставить обратно в DOM. – Nooshu

+0

Просто прочитав документы, похоже, что вы сделаете что-то вроде $ («it»). ReplaceWith («» + $ (this) .text() + «»). Возможно, вам придется добавить .each() для нескольких тегов. – Nooshu

0

Ознакомьтесь jParse JQuery XML Анализировать Plugin jParse !!