Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Getting to the root node of an xml document

Reply
Thread Tools

Getting to the root node of an xml document

 
 
Rodolphe G
Guest
Posts: n/a
 
      06-01-2007
Hello there!

I'm trying to get to an xml document root node (named dataroot), I've
tried different things, like :

Node node = doc.getFirstChild();
Node node = doc.getDocumentElement();
Node node = doc.getElementsByTagName("dataroot").item(0);

None of them seem to work, the "node" variable is NULL everytime.

Here's the start of the XML file, I somebody has an idea, it's be very
helpful Cheers!

XML Document :

<?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlnsd="urn:schemas-microsoft-comfficedata"
generated="2007-05-25T20:41:06">
<SITES>
<FECD_ID>18</FECD_ID>
<LATITUDE>55.53</LATITUDE>
<LONGITUDE>-98.41</LONGITUDE>
<SITE_INFORMATION>
<FECD_ID>18</FECD_ID>
<ORIGINAL_SOURCE>Halliwell &amp; Apps, 1997</ORIGINAL_SOURCE>
<ORIGINAL_SOURCE_ID>MAN TE-OA (1)</ORIGINAL_SOURCE_ID>
<ESTABLISHMENT_DATE>1994</ESTABLISHMENT_DATE>
<PROVINCE>MB</PROVINCE>
<TERRESTRIAL_ECOZONE>Boreal Shield</TERRESTRIAL_ECOZONE>
<TERRESTRIAL_ECOREGION_TEXT>Churchill River Upland</
TERRESTRIAL_ECOREGION_TEXT>
<ORDER>Brunisolic</ORDER>
<SUB_GROUP_GREAT_GROUP>Gleyed Melanic</SUB_GROUP_GREAT_GROUP>
<DRAINAGE_CLASS_ID>Imperfectly</DRAINAGE_CLASS_ID>
<FEATURE_DEPTH>33</FEATURE_DEPTH>
<SOIL_FEATURE>Carbonates</SOIL_FEATURE>
<ROOTING_DEPTH>53</ROOTING_DEPTH>
<DOMINANT_TREE_1>POPU TRE</DOMINANT_TREE_1>
<CODOMINANT_TREE_1>POPU TRE</CODOMINANT_TREE_1>
....

Part of the code :

public class WWXMLSitesLayer extends IconLayer implements
SelectListener {

public WWXMLSitesLayer(String fileName, String layerName)
{
this.setName(layerName);
this.loadIcons(readXML(new File(fileName)), layerName);
}

// Load icons from XML document named layer
private void loadIcons(Document doc, String layerName) {

// Get LayerSet node
// Node node = findLayerSetByName(doc, layerName);
Node node = doc.getElementsByTagName("dataroot").item(0);

if(node == null)
return; // TODO: throw exception


loadLayerSet(node);
}

// Load icons from a LayerSet node (recursive)
private void loadLayerSet(Node node) {
// Process icon child nodes
Node child;

for(int i = 0; i < node.getChildNodes().getLength(); i++) {
// child = node.getChildNodes().item(i);
child = node.getChildNodes().item(i);
//if(child.getNodeName().compareToIgnoreCase("SITES" ) == 0) {
// loadLayerSet(child); // recurse
//}
//else if(child.getNodeName().compareToIgnoreCase("SITES" ) ==
0) {
// Get icon info
Node n;
n = findChildByName(child, "SITES");
String name = n.getTextContent();
n = findChildByName(child, "LATITUDE");
....

 
Reply With Quote
 
 
 
 
Mike Schilling
Guest
Posts: n/a
 
      06-01-2007
Rodolphe G wrote:
> Hello there!
>
> I'm trying to get to an xml document root node (named dataroot), I've
> tried different things, like :
>
> Node node = doc.getFirstChild();
> Node node = doc.getDocumentElement();
> Node node = doc.getElementsByTagName("dataroot").item(0);
>
> None of them seem to work, the "node" variable is NULL everytime.


Then the document is empty. Show us the code where you load it.



 
Reply With Quote
 
 
 
 
Rodolphe G
Guest
Posts: n/a
 
      06-01-2007
Mike, that would be here :

----------------------------------------------------------------------------
WWXMLSitesLayer("SITES.xml", "Sites d'étude")
----------------------------------------------------------------------------

Here's the class:

----------------------------------------------------------------------------------------------------------------------------
public class WWXMLSitesLayer extends IconLayer implements
SelectListener {

public WWXMLSitesLayer(String fileName, String layerName)
{
this.setName(layerName);
this.loadIcons(readXML(new File(fileName)), layerName);
}

// Load icons from XML document named layer
private void loadIcons(Document doc, String layerName) {

// Get LayerSet node
// Node node = findLayerSetByName(doc, layerName);
Node node = doc.getElementsByTagName("dataroot").item(0);

if(node == null)
return; // TODO: throw exception


loadLayerSet(node);
}
....
----------------------------------------------------------------------------------------------------------------------------

 
Reply With Quote
 
Mike Schilling
Guest
Posts: n/a
 
      06-01-2007
Rodolphe G wrote:
> Mike, that would be here :
>
> ----------------------------------------------------------------------------
> WWXMLSitesLayer("SITES.xml", "Sites d'étude")
> ----------------------------------------------------------------------------
>
> Here's the class:
>
> ----------------------------------------------------------------------------------------------------------------------------
> public class WWXMLSitesLayer extends IconLayer implements
> SelectListener {
>
> public WWXMLSitesLayer(String fileName, String layerName)
> {
> this.setName(layerName);
> this.loadIcons(readXML(new File(fileName)), layerName);
> }
>
> // Load icons from XML document named layer
> private void loadIcons(Document doc, String layerName) {
>
> // Get LayerSet node
> // Node node = findLayerSetByName(doc, layerName);
> Node node = doc.getElementsByTagName("dataroot").item(0);
>
> if(node == null)
> return; // TODO: throw exception
>
>
> loadLayerSet(node);
> }


Presumably it's inside readXML(), then. At any rate, if doc is non-null but
doc.getDocumentElement() is nul, you've got an empty document, which you
wouldn't have if it were produced by parsing the XML file you showed.


 
Reply With Quote
 
Rodolphe G
Guest
Posts: n/a
 
      06-01-2007
Ok, I'll go through it again and check if doc is indeed non-null since
I know for a fact that my XML isn't

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Getting to the root node of an xml document Lew Java 3 06-02-2007 03:13 AM
Problem updating an attribute that appears in both root node and child node! Tedros.G@googlemail.com XML 1 05-08-2007 11:32 AM
xsl variable $node/text() but $node can non-node-set help! Tjerk Wolterink XML 2 08-24-2006 03:28 AM
How to set the node indent property between the parent node and the leaf node viveknatani@gmail.com ASP .Net 0 02-13-2006 07:11 PM
Help on including one XML document within another XML document using XML Schemas Tony Prichard XML 0 12-12-2003 03:18 PM



Advertisments