Consider this problem:
Using Javascript/E4X, in a non-browser usage scenario (a Javascript HL7 integration engine), there is a variable holding an XML snippet that could have multiple repeating nodes.
<pets>
<pet type="dog">Barney</pet>
<pet type="cat">Socks</pet>
</pets>
Question: How to get the count of the number of pet nodes in Javascript/E4X ?
EDIT: To clarify, this question should be around E4X (ECMAScript for XML). Apologies to those who answered without this information. I should have researched & posted this info beforehand.
Use an E4X XML object to build an XMLList of your 'pet' nodes. You can then call the length method on the XMLList.
//<pets>
// <pet type="dog">Barney</pet>
// <pet type="cat">Socks</pet>
//</pets>
// initialized to some XML resembling your example
var petsXML = new XML("");
// build XMLList
var petList = petsXML['pet'];
// alternative syntax
// var petList = petsXML.pet;
// how many pet nodes are under a given pets node?
var length = petList.length();
I'd say... use jQuery!
var count = 0;
$(xmlDoc).find("pet").each(function() {
count++;
// do stuff with attributes here if necessary.
// var pet = $(this);
// var myPetType = pet.attr("type");
};
});
EDIT: Can't use jquery... ok, let's do it in regular javascript :(
var pets= xmlDoc.getElementsByTagName("pet");
for ( var i = 0; i < pets.length ; i++ )
{
count++;
// var petObj = {
// pets[i].getAttribute("type")
// };
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With