JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<p id="types"></p>
JavaScript
var myXML = '<?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></resultset>';
var xml = $.parseXML(myXML);
var tags = $(xml).find('tag');
var tagIdentifier = "|tag_";
$("#types").append(JSON.stringify(countTagTypes()));
function countTagTypes(){
var types = {};
for(var i = 0; i < tags.length; ++i){
// Get the text between <tag> and </tag>
var text = tags[i].innerHTML;
// Get what is after "|tag_"
var type = text.slice(text.indexOf(tagIdentifier) + tagIdentifier.length, text.length);
if(type){
// Increment if exist
if(types[type]){
types[type]++;
}
// Set to 1 if not
else {
types[type] = 1;
}
}
}
return types;
}