R
Rodolphe G
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 & 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");
....
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 & 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");
....