使用jquery解析xml时获取[object HTMLUnknownElement]

时间:2010-10-21 08:36:54

标签: jquery xml

我在浏览XML时得到[object HTMLUnknownElement]

<?xml version="1.0" encoding="utf-8"?>
<blamatrixrix>
<name></name>
<columns number="2">
 <column id="title" num="0">Title</column>
 <column id="content" num="1">Content</column>
</columns>
<rows number="7"></rows>
<b>Description</b>
<b>Description text here</b>
<b>Some title 1</b>
<b>Some text blabla for Some title 1</b>
<b>Some title 2</b>
<b>Some text blabla for Some title 2</b>
<b>Some title 3</b>
<b>Some text blabla for Some title 3</b>
<b>Some title 4</b>
<b>Some text blabla for Some title 4</b>
<b>Some title 5</b>
<b>Some text blabla for Some title 5</b>
<b>Some title 6</b>
<b>Some text blabla for Some title 6</b>
</blamatrixrix>

这就是XML。我尝试使用以下代码从<b>..</b>内部获取内容:

$(data).children().each(function(b ,ss) {
var content = $(ss).find('b').children();
console.log(content);
$("#table").append('<tr><td>' + ss + '</td></tr>');*/
});

我究竟做错了什么?我也尝试用

获取文本
var content = $(ss).find('b').children().text();

但结果相同。

谢谢!

1 个答案:

答案 0 :(得分:1)

首先,元素<c>不在您提供的XML文件中。

其次和更重要的是,您应该在$(this)循环中使用.each

最后,在你的append()方法中,你指定(在你的情况下)一个对象,而不是它的任何属性。我可能从你提供的代码中想到的最接近的匹配看起来像

$(data).find("b").each(function(index) {
    $("#table").append('<tr><td>' + $(this).text() + '</td></tr>');
});

反正data是什么?