如何在javascript中解析列中的XML数据?

如何在javascript中解析列中的XML数据?,javascript,xml,ibm-bpm,Javascript,Xml,Ibm Bpm,我有以下格式的XML数据: <data> <item type='String'>ABC</item> <item type='Date'> <Year>2015</Year> <Month>May</Month> <Day>24</Day> </item> </data> var obj = someVariable.record[0].column

我有以下格式的XML数据:

<data>
<item type='String'>ABC</item>
<item type='Date'>
<Year>2015</Year>
<Month>May</Month>
<Day>24</Day>
</item>
</data>
var obj = someVariable.record[0].column[0].getText(); //obj

如何解析日期
2015/May/24

在纯JavaScript中,您可以按如下方式执行此操作:

var xmlv = document.getElementsByTagName("data")[0];
var date = xmlv.querySelector('item[type="date"]');
var year = date.querySelector('Year').innerHTML;
var month = date.querySelector('Month').innerHTML;
var day = date.querySelector('Day').innerHTML;

var parsedDate = year + '/' + month + '/' + day;
请注意,这使用了querySelector函数,该函数在较旧的浏览器中不起作用,但在IE8+中可以使用

纯JS版本(如上所述)


jQuery版本(更简洁、更兼容)

在纯JavaScript中,您可以按如下方式进行操作:

var xmlv = document.getElementsByTagName("data")[0];
var date = xmlv.querySelector('item[type="date"]');
var year = date.querySelector('Year').innerHTML;
var month = date.querySelector('Month').innerHTML;
var day = date.querySelector('Day').innerHTML;

var parsedDate = year + '/' + month + '/' + day;
请注意,这使用了querySelector函数,该函数在较旧的浏览器中不起作用,但在IE8+中可以使用

纯JS版本(如上所述)


jQuery版本(更简洁、更兼容)

是的,你说得对,我想从XML解析日期。我不能使用jquery,有没有办法用javascript解析它。由于jQuery是用JavaScript编写的,因此jQuery中的任何内容都可以重构为纯JS(只是更长、更混乱)。我已经为你做了这件事,并更新了答案。这款提琴在我个人电脑上的Chrome、Android、FireFox和IE11上都很好用。可能您的警报被抑制或关闭?根据“parse”的含义,这个提琴提取XML中的值,并将它们连接到
var parsedDate
中的格式。是的,你说得对,我想从XML解析日期。我不能使用jquery,有没有办法用javascript解析它。由于jQuery是用JavaScript编写的,因此jQuery中的任何内容都可以重构为纯JS(只是更长、更混乱)。我已经为你做了这件事,并更新了答案。这款提琴在我个人电脑上的Chrome、Android、FireFox和IE11上都很好用。可能您的警报被抑制或关闭?根据“parse”的含义,这个提琴提取XML中的值,并将它们连接到
var parsedDate
中的格式。是的,你说得对,我想从XML解析日期。我不能使用jquery,有没有办法用javascript解析它。由于jQuery是用JavaScript编写的,因此jQuery中的任何内容都可以重构为纯JS(只是更长、更混乱)。我已经为你做了这件事,并更新了答案。这款提琴在我个人电脑上的Chrome、Android、FireFox和IE11上都很好用。可能您的警报被抑制或关闭?根据“parse”的含义,这个提琴提取XML中的值,并将它们连接到
var parsedDate
中的格式。然后它会提醒结果。您找到问题的解决方案了吗?您找到问题的解决方案了吗?您找到问题的解决方案了吗?