如何使用jQueryparsingXML?

如何parsingXML,以及如何使用jQuery浏览结果? 这是我的示例XML:

<Pages> <Page Name="test"> <controls> <test>this is a test.</test> </controls> </Page> <Page Name = "User"> <controls> <name>Sunil</name> </controls> </Page> </Pages> 

我想通过这个pathfind节点Pages – > Page Name – > controls – > test

这里有$.parseXML函数: http : $.parseXML

你可以像这样使用它:

 var xml = $.parseXML(yourfile.xml), $xml = $( xml ), $test = $xml.find('test'); console.log($test.text()); 

如果你真的想要一个对象,你需要一个插件。 这个插件,例如,将您的XML转换为JSON: http : //www.fyneworks.com/jquery/xml-to-json/

你可以使用.parseXML

 var xml='<Pages> <Page Name="test"> <controls> <test>this is a test.</test> </controls> </Page> <page Name = "User"> <controls> <name>Sunil</name> </controls> </page> </Pages>'; 

jQuery的

  xmlDoc = $.parseXML( xml ), $xml = $( xmlDoc ); $($xml).each(function(){ alert($(this).find("Page[Name]>controls>name").text()); }); 

这里是小提琴http://jsfiddle.net/R37mC/1/

我假设你正在从外部文件加载XML。 使用$.ajax() ,实际上很简单:

 $.ajax({ url: 'xmlfile.xml', dataType: 'xml', success: function(data){ // Extract relevant data from XML var xml_node = $('Pages',data); console.log( xml_node.find('Page[Name="test"] > controls > test').text() ); }, error: function(data){ console.log('Error loading XML data'); } }); 

而且,您应该对XML节点命名保持一致。 您有小写和大写节点名称( <Page><page> ),当您尝试使用XML树select器时,这可能会造成混淆。

 $xml = $( $.parseXML( xml ) ); $xml.find("<<your_xml_tag_name>>").each(function(index,elem){ // elem = found XML element }); 

看看jQuery的.parseXML() [文档]

 var $xml = $(jQuery.parseXML(xml)); var $test = $xml.find('Page[Name="test"] > controls > test'); 

我走了jQuery的.parseXML()的方式,但发现'Page[Name="test"] > controls > test'的XMLpath语法不会工作(如果有人知道为什么请大喊!)。

相反,我将单个的.find()结果链接在一起,看起来像这样:

 $xmlDoc.find('Page[Name="test"]') .find('contols') .find('test') 

结果达到了我所期待的一样。

首先,在谷歌结果中popuphttp://think2loud.com/224-reading-xml-with-jquery/有没有简单的方法来访问xml结构(就像你描述页面 – > pagename-> controls->testing )在没有任何插件的jQuery中。