xmlparsetesting
by Darksbane
HTML
<span id= "myspan"></span>
<textarea id="mytextarea"><?xml version="1.0" encoding="utf-8" standalone="yes"?>
<deck game="a12af4e8-be4b-4cda-a6b6-534f9717391f">
<section name="House">
<card qty="1" id="a12af4e8-be4b-4cda-a6b6-534f97001006">House Targaryen</card>
</section>
<section name="Agenda">
<card qty="1" id="a12af4e8-be4b-4cda-a6b6-534f97008060">Knights of the Hollow Hill</card>
</section>
<section name="Characters">
<card qty="3" id="ba96d075-e916-4194-9f27-63b1b9ab3016">Magister Illyrio</card>
<card qty="3" id="a12af4e8-be4b-4cda-a6b6-534f97338089">Dragon Knight</card>
<card qty="2" id="a12af4e8-be4b-4cda-a6b6-534f97008616">Killer of the Wounded</card>
<card qty="2" id="a12af4e8-be4b-4cda-a6b6-534f97002037">Dragon Thief</card>
<card qty="2" id="a12af4e8-be4b-4cda-a6b6-534f97001108">Khal Drogo</card>
<card qty="3" id="ba96d075-e916-4194-9f27-63b1b9ab3096">Long Lances</card>
<card qty="2" id="4c40a080-f988-4112-99bb-3ec446024109">Shadow Parasite</card>
<card qty="3" id="a12af4e8-be4b-4cda-a6b6-534f97004090">King's Landing Assassin</card>
<card qty="2" id="a12af4e8-be4b-4cda-a6b6-534f97338110">Sorrowful Man</card>
<card qty="1" id="ba96d075-e916-4194-9f27-63b1b9ab3033">Young Griff</card>
<card qty="1" id="ba96d075-e916-4194-9f27-63b1b9ab3115">The Brazen Beasts</card>
<card qty="2" id="a12af4e8-be4b-4cda-a6b6-534f97338010">Ser Barristan Selmy</card>
<card qty="2" id="a12af4e8-be4b-4cda-a6b6-534f97004077">Syrio Forel</card>
<card qty="1" id="a12af4e8-be4b-4cda-a6b6-534f97338056">Lyanna Stark</card>
</section>
<section name="Locations">
<card qty="3" id="a12af4e8-be4b-4cda-a6b6-534f97001127">Eastern Fiefdoms</card>
<card qty="3" id="a12af4e8-be4b-4cda-a6b6-534f97004099">King's Landing</card>
<card qty="2" id="a12af4e8-be4b-4cda-a6b6-534f97004074">The Dragonpit</card>
<card...
JavaScript
$('#mybutton').click(function(){
var isXML = true;
try{
xmlDoc = $.parseXML( $('#mytextarea').val() );
}
catch (err){
console.log("error",typeof err);
if (err.message.match(/Invalid XML:/g)){
$('#myspan').text('Invalid XML');
isXML = false;
}
}
if (isXML){
$xml = $( xmlDoc );
$xml.find("section").each(function()
{
$("#output").append($(this).attr("name") + "<br />");
$(this).find("card").each(function(){
$("#output").append($(this).text()+" x"+$(this).attr("qty")+"<br />");
});
});
} else {
var lines = [];
$.each($('#mytextarea').val().split(/\n/), function(i, line){
if(line && line.length){
lines.push(line);
if(line.match(/\[url\="?(.*?)"?\](.*?)\[\/url\]/gi)){
$("#output").append(line);
}
}
});
console.log(lines);
}
});