如何使用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()); });
我假设你正在从外部文件加载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中。