Solved

Javascript: how do i check if node has children

Posted on 2014-03-03
5
237 Views
Last Modified: 2014-03-12
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
Comment
Question by:badtz7229
  • 2
5 Comments
 
LVL 9

Expert Comment

by:Sar1973
ID: 39902678
With document.getElementById("yourItem").parentNode; see http://www.w3schools.com/jsref/prop_node_parentnode.asp.
0
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 39902685
Sar1973 how would you update his code using your solution?
0
 

Accepted Solution

by:
badtz7229 earned 0 total points
ID: 39913596
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
 

Author Closing Comment

by:badtz7229
ID: 39922903
this worked
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
Many times as a report developer I've been asked to display normalized data such as three rows with values Jack, Joe, and Bob as a single comma-separated string such as 'Jack, Joe, Bob', and vice versa.  Here's how to do it. 
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now