2016-08-06 11 views
0

Ich bin neu in Javascript und ich arbeite an einer Aufgabe, um die Anzahl der Sätze, die "Maschine", "Mensch" oder "Software" aus dem Monat und insgesamt in jedem Jahr basierend auf den Daten in. Ich würde jede Hilfe schätzen, die zur Verfügung gestellt wird.XML Parsing mit Jquery oder Javascript

<?xml version="1.0"?> 
<resultset> 
<set> 
    <type>type1</type> 
    <name>Patil</name> 
    <date>2015-03-21</date> 
    <tag>ThisIsALongText-|tag_machine</tag> 
    <c_date>2015-01-12</c_date> 
</set> 
<set> 
    <type>type1</type> 
    <name>Patil</name> 
    <date>2016-06-11</date> 
    <tag>ThisIsALongText-|tag_human</tag> 
    <c_date>2013-07-17</c_date> 
</set> 
<set> 
    <type>type1</type> 
    <name>Patil</name> 
    <date>2016-05-21 </date> 
    <tag>ThisIsALongText-|tag_software</tag> 
    <c_date>2014-11-12</c_date> 
</set> 
<set> 
    <type>type1</type> 
    <name>Patil</name> 
    <date>2015-12-10</date> 
    <tag>ThisIsALongText-|tag_human</tag> 
    <c_date>2015-04-12</c_date> 
</set> 
<set> 
    <type>type1</type> 
    <name>Patil</name> 
    <date>2015-03-21</date> 
    <tag>ThisIsALongText-|tag_machine</tag> 
    <c_date>2016-02-23</c_date> 
</set> 

+0

Welche Code haben Sie versucht? – Makyen

+0

Einer wird es tun. jQuery ist eine JavaScript-Bibliothek. Nachteil bei jQuery ist die anfängliche Ladezeit. Sie sollten sowieso zuerst JavaScript lernen, aber jQuery macht es einfach zu entwickeln und es ist in jedem Cache. – PHPglue

+0

Mögliche Duplikate? [how-to-parse-xml-using-jquery] (http://stackoverflow.com/questions/7228141/how-to-parse-xml-using-jquery) – ooXei1sh

Antwort

0

Mit dem DOMParser API können Sie XML in DOM-Element drehen, und daher können Sie getElementById oder getElementsByTagName ... Methoden:

var parser = new DOMParser(); 
var doc = parser.parseFromString(yourXML, "text/xml"); 

EDIT

var parser = new DOMParser(); 
var doc = parser.parseFromString('<resultset> <set> <type>type1</type> <name>Patil</name> <date>2015-03-21</date> <tag>ThisIsALongText-|tag_machine</tag> <c_date>2015-01-12</c_date> </set> <set> <type>type1</type> <name>Patil</name> <date>2016-06-11</date> <tag>ThisIsALongText-|tag_human</tag> <c_date>2013-07-17</c_date> </set> <set> <type>type1</type> <name>Patil</name> <date>2016-05-21 </date> <tag>ThisIsALongText-|tag_software</tag> <c_date>2014-11-12</c_date> </set> <set> <type>type1</type> <name>Patil</name> <date>2015-12-10</date> <tag>ThisIsALongText-|tag_human</tag> <c_date>2015-04-12</c_date> </set> <set> <type>type1</type> <name>Patil</name> <date>2015-03-21</date> <tag>ThisIsALongText-|tag_machine</tag> <c_date>2016-02-23</c_date> </set>', "text/xml"); 
var set = doc.getElementsByTagName('set'); 
var dates = doc.getElementsByTagName('date'); 
var date1Month = dates[0].innerHTML.split('-')[1]; 
var date1Year = dates[0].innerHTML.split('-')[0]; 

var arrDates = [].map.call(dates, function(element) { return element; }); 

var allDates = arrDates.map(function(date) { return date.innerHTML }); 
+0

sieht aus wie ich das Jahr und den Monat bekommen muss Verwenden Sie Regex und dann das Tag auch mit Regex, um loszulegen. Jedes Code-Snippet könnte nützlich sein, wenn Sie es getan haben. –

0

Sie können jQuery verwenden, um XML zu analysieren. Es gibt eine $.parseXML-Funktion.

Benutzen Sie es wie folgt aus:

var xml = $.parseXML(myXML); 
var tags = $(xml).find('tag'); 

Die Variable tags wird ein Array von alle Tags sein.

More informations here

and a demo here