• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 268
  • Last Modified:

Javascript: how do i check if node has children

I have the following XML and I want a function that will throw an error whenever there's an instance of an Empty <Name> (or where <Name> has no children). How do I capture that?

<root>
	<Person>
		<Name/>
	</Person>
	<Person>
		<Name>
			<fname>babe</fname>
			<lname>ruth</lname>
		</Name>
	</Person>
</root>

Open in new window

i have the following code:
var nsPerson = dom.SelectNode(dom.Root, "Person/Name");
if (nsPerson)
{
	for (var i=0; i < nsPerson.Count; i++)	
	{
		var nPerson =  nsPerson.GetItem(i);
		if (!nPerson)
		{
		  //throw "Empty Person.";
				
		}
	}
}

Open in new window

0
badtz7229
Asked:
badtz7229
  • 2
1 Solution
 
Sar1973Commented:
With document.getElementById("yourItem").parentNode; see http://www.w3schools.com/jsref/prop_node_parentnode.asp.
0
 
Scott Fell, EE MVEDeveloper & EE ModeratorCommented:
Sar1973 how would you update his code using your solution?
0
 
badtz7229Author Commented:
i answered my own question.

var nsPerson = dom.SelectNode(dom.Root, "Person/Name");
if (nsPerson)
{
      for (var i=0; i < nsPerson.Count; i++)      
      {
            var nPerson =  nsPerson.GetItem(i);
            if (nPerson)
            {
                           var hasChildren = nPerson.SelectSingle('*');
                           if (!hasChildren)
                                    throw "Empty, try again.";                  
                        
            }
      }
}
0
 
badtz7229Author Commented:
this worked
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now