jquery xml解析方法

时间:2012-05-31 13:37:03

标签: jquery xml parsing highcharts

我们正在使用highcharts创建演示。我们计划以xml格式获取数据。这个xml的结构不会被修复。基本上,XML应该以表格格式表示原始数据。因此,如果表包含列A,B,C,D,则xml将包含将表示表中的行的节点。要在jquery中解析XML,您需要知道标记名称(据我所知),但在这种情况下,我可能不知道标记名称是什么,因为在一个案例表中可能包含列A,B,C,D和在其他情况下,它可以包含列T,U,V,W,X,Y,Z。那么我该如何处理这样的xml并向图表提供数据呢?任何指导,建议都是最受欢迎的。 :)

e.g. in one case xml wil be - 
<record>-----there will be many such records
<A>...</A>
<B>...</B>
<C>...</C>
</record>
.
.
.
and in other case it can be - 

<record>-----there will be many such records
<u>...</u>
<v>...</v>
<w>...</w>
</record>
.
.

2 个答案:

答案 0 :(得分:0)

听起来你可以使用$('record').children()来获取子节点的jQuery集合,无论它们是什么。

答案 1 :(得分:0)

确定免责声明:我不知道您是否可以使用jQuery,或者它是否可行。所以我将这个问题作为一般的DOM遍历问题来回答,就好像它 一样,然后这将适用。

据我所知: 您不需要任何标记名称,禁止使用父级或顶级标记名。

jQuery有很多非常有用和高级的DOM遍历方法可以提供帮助 - 例如:

$.children();
$.siblings();
$.next();
$.prev();
$.parent();
$.parents();
$.closest();
$.andSelf();
$.not();

如果您知道自己在寻找什么,那么$.find('selector');方法也非常好。

一个例子可能是:

var r1 = $('record').children(); //returns all child nodes of all <record> tags
var r2 = $('record'); //gets all records
var r3 = r2.children(); //the children of other records

不确定哪种方式适合您的用例,但您可以在此处阅读有关DOM遍历的更多信息: http://api.jquery.com/category/traversing/

希望这有帮助