2012-09-17 107 views
0

我解析XML在jQuery中。我想通過「alert()」運行時看到一行符號。解析XML到jquery

這裏是XML:

<?xml version="1.0" encoding="utf-8"?> 
<charlist> 
    <list> 
     <title>symbol1</title> 
     <chr><![CDATA[√,∽, ∝, ∵, ∫, ∬, ∈, ∋, ⊆]]></chr> 
    </list> 
    <list> 
     <title>symbol2</title> 
     <chr><![CDATA[①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧]]></chr> 
    </list> 
    <list> 
     <title>symbol3</title> 
     <chr><![CDATA[㉠, ㉡, ㉢, ㉣, ㉤, ㉥, ㉦, ㉧]]></chr> 
    </list> 
    <list> 
     <title>symbol4</title> 
     <chr><![CDATA[㎕, ㎖, ㎗, ℓ, ㎘, ㏄, ㎣, ㎤]]></chr> 
    </list> 
</charlist> 

這是jQuery的我做了。

$.ajax({ 
    type: "get", 
    url: "XMLFile1.xml", 
    dataType: "xml", 
    success: function (xml) { 
     $(xml).find('list').each(function() { 
      var title = $(this).find("title").text(); 
      var chr = $(this).find("chr").text(); 
      alert(chr); 
     }); 
    } 
}); 

運行後出現三條線。 √,,,㉦,⊆,⊆,㎗,∋,⊆,⊆,㎗,∋,⊆,⊆,√,㉡,⊆,㉧, ㏄,㎣,㎤。 我只想看看我在jquery中按數組選擇的一行。例如, 。如果我把「alert(chr [1])」放在第二行,就會出現像㉠,㉡,㉢,㉣,㉤,㉥,㉦,㉧。只有一行出現在「alert」中。 任何人都可以幫助我問題???

+0

你是說你想要把人物的那些線一個數組,以便您可以單獨顯示它們? – marteljn

+0

看起來您在13日詢問了一個幾乎相同的問題,您應該刪除它們中的一個 – marteljn

+0

是的,我想只顯示一行,我在「alert(chr [])「。 – Albright

回答

0

如果我正確認識你,下面的例子將幫助你理解如何從XML建立數組:

var xml = '<?xml version="1.0" encoding="utf-8"?>\ 
<charlist>\ 
    <list>\ 
     <title>symbol1</title>\ 
     <chr><![CDATA[√,∽, ∝, ∵, ∫, ∬, ∈, ∋, ⊆]]></chr>\ 
    </list>\ 
    <list>\ 
     <title>symbol2</title>\ 
     <chr><![CDATA[①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧]]></chr>\ 
    </list>\ 
    <list>\ 
     <title>symbol3</title>\ 
     <chr><![CDATA[㉠, ㉡, ㉢, ㉣, ㉤, ㉥, ㉦, ㉧]]></chr>\ 
    </list>\ 
    <list>\ 
     <title>symbol4</title>\ 
     <chr><![CDATA[㎕, ㎖, ㎗, ℓ, ㎘, ㏄, ㎣, ㎤]]></chr>\ 
    </list>\ 
</charlist>'; 

var parsed = $.parseXML(xml); 

// declare the array 
var chr = new Array(); 

// build the array by looping through the list elements 
$(parsed).find('list').each(function(i,listElement){ 
    chr[i] = listElement.getElementsByTagName('chr')[0].textContent; 
});​ 

// will give an alert box with the string content of the chr element in the the second list element, which is actually "①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧" 
alert(chr[1]); 
+0

i認爲你明白我想要什麼,但它仍然出現所有線路。 – Albright

+0

@Albright,你叫什麼「線」? – smartcaveman

+0

行意味着像「㎕,㎖,㎗,ℓ,㎘,㏄,㎣,㎤」。我看到三個盒子,如第一個「√,∽,α,∵,∫,∬,∈,∋,⊆」,第二個①,②,③,④,⑤,⑥,⑦,⑧,第三個㉠,㉡, ㉢,㉣,㉤,㉥,㉦,㉧,forth,㎕,㎖,㎗,ℓ,㎘,㏄,㎣,㎤。我只想看到一個我把數字放在「alert(chr [])上。 – Albright