SelectSingleNode not working

G

Guest

I'm trying to invoke the "selectsinglenode" method on an XmlDocument object,
but it doesn't seem able to find the node I want. I'm able to access the
document root but when I try to parse an invividual node, I get an
"System.NullReferenceException: Object reference not set to an instance of an
object." exception when I try to response.write the value. I don't know if
it's an xpath issue or a .net issue, but I could really use a helping hand
here. XML & code follow:

objBatchDataDoc = New XmlDocument
objBatchDataDoc.Load("http://localhost/ReportData.xml")
objAgreementNode =
objBatchDataDoc.selectsinglenode("//job/batch/agreement[@agreementnumber='5022883004']")

'ERROR OCCURS HERE
response.write(objAgreementNode.innerText)

-------------------------------------------------------------------------

<job xmlns="http://www.w3schools.com">
<batch batchid="7465">
<agreement agreementnumber="5022883004">
<coveragestartdate>8/3/2005</coveragestartdate>
<coverageenddate>3/19/2007</coverageenddate>
<partnumber>RSCU-10-4LP</partnumber>
<agreementcharge>45.02</agreementcharge>
<distributornumber>A90394</distributornumber>
<ownerfirstname>glenn</ownerfirstname>
<ownerlastname>venzke</ownerlastname>
<ownerphonenumber>(630) 455-1435</ownerphonenumber>
<owneraddress>16 kingery quarter drive, unit 4A</owneraddress>
<ownercity>willowbrook</ownercity>
<ownerstate>IL</ownerstate>
<ownerzipcode>60530</ownerzipcode>
<salesrepfirstname>jeff</salesrepfirstname>
<salesreplastname>liter</salesreplastname>
<contractornumber>47822AA</contractornumber>
<brandedprogramcode>190</brandedprogramcode>
<companyname>equiguard</companyname>
<companyphonenumber>(630) 971-9705</companyphonenumber>
<companyaddress>800 jorie blvd</companyaddress>
<companycity>oakbrook</companycity>
<companystate>FL</companystate>
<companyzipcode>60523</companyzipcode>
<equipmenttype>residential</equipmenttype>
<equipmentdescription>
<![CDATA[Residential/Commercial: RESIDENTIAL COMPLETE SYSTEM OR PACKAGE
UNIT WITH THERMOSTAT (FURNACE / AIR CONDITIONER OR HEAT PUMP AND EVAPORATOR
COIL) UP TO AND INCLUDING 5 TON
Equipment Type: COMPLETE SYSTEM OR PACKAGE UNIT
Term: 1826 Days | 60 Months | 5.00 Years
Coverage: LABOR AND MARKUP ONLY
Start: 2ND YEAR
Size: <= 5 TON ]]>
</equipmentdescription>
<equipment>
<manufacturer>Heil</manufacturer>
<equipmenttype>Water Heater</equipmenttype>
<modelnumber>58HWC243A</modelnumber>
<serialnumber>S8403J10199</serialnumber>
<unitsize>4600 BTU</unitsize>
<installationdate>7/11/2005</installationdate>
</equipment>
</agreement>
</batch>
</job>
 
G

Guest

try this...

XmlDocument objBatchDataDoc = new XmlDocument();

XmlNamespaceManager nsmgr = new XmlNamespaceManage(objBatchDataDoc.NameTable
);
nsmgr.AddNamespace( "ns", "http://www.w3schools.com" );
string myxml = getXML();

objBatchDataDoc.LoadXml(myxml);
XmlNode objAgreementNode =
objBatchDataDoc.SelectSingleNode("//ns:agreement[@agreementnumber='5022883004']", nsmgr);

//ERROR OCCURS HERE
MessageBox.Show(objAgreementNode.InnerText);



Glenn Venzke said:
I'm trying to invoke the "selectsinglenode" method on an XmlDocument object,
but it doesn't seem able to find the node I want. I'm able to access the
document root but when I try to parse an invividual node, I get an
"System.NullReferenceException: Object reference not set to an instance of an
object." exception when I try to response.write the value. I don't know if
it's an xpath issue or a .net issue, but I could really use a helping hand
here. XML & code follow:

objBatchDataDoc = New XmlDocument
objBatchDataDoc.Load("http://localhost/ReportData.xml")
objAgreementNode =
objBatchDataDoc.selectsinglenode("//job/batch/agreement[@agreementnumber='5022883004']")

'ERROR OCCURS HERE
response.write(objAgreementNode.innerText)

-------------------------------------------------------------------------

<job xmlns="http://www.w3schools.com">
<batch batchid="7465">
<agreement agreementnumber="5022883004">
<coveragestartdate>8/3/2005</coveragestartdate>
<coverageenddate>3/19/2007</coverageenddate>
<partnumber>RSCU-10-4LP</partnumber>
<agreementcharge>45.02</agreementcharge>
<distributornumber>A90394</distributornumber>
<ownerfirstname>glenn</ownerfirstname>
<ownerlastname>venzke</ownerlastname>
<ownerphonenumber>(630) 455-1435</ownerphonenumber>
<owneraddress>16 kingery quarter drive, unit 4A</owneraddress>
<ownercity>willowbrook</ownercity>
<ownerstate>IL</ownerstate>
<ownerzipcode>60530</ownerzipcode>
<salesrepfirstname>jeff</salesrepfirstname>
<salesreplastname>liter</salesreplastname>
<contractornumber>47822AA</contractornumber>
<brandedprogramcode>190</brandedprogramcode>
<companyname>equiguard</companyname>
<companyphonenumber>(630) 971-9705</companyphonenumber>
<companyaddress>800 jorie blvd</companyaddress>
<companycity>oakbrook</companycity>
<companystate>FL</companystate>
<companyzipcode>60523</companyzipcode>
<equipmenttype>residential</equipmenttype>
<equipmentdescription>
<![CDATA[Residential/Commercial: RESIDENTIAL COMPLETE SYSTEM OR PACKAGE
UNIT WITH THERMOSTAT (FURNACE / AIR CONDITIONER OR HEAT PUMP AND EVAPORATOR
COIL) UP TO AND INCLUDING 5 TON
Equipment Type: COMPLETE SYSTEM OR PACKAGE UNIT
Term: 1826 Days | 60 Months | 5.00 Years
Coverage: LABOR AND MARKUP ONLY
Start: 2ND YEAR
Size: <= 5 TON ]]>
</equipmentdescription>
<equipment>
<manufacturer>Heil</manufacturer>
<equipmenttype>Water Heater</equipmenttype>
<modelnumber>58HWC243A</modelnumber>
<serialnumber>S8403J10199</serialnumber>
<unitsize>4600 BTU</unitsize>
<installationdate>7/11/2005</installationdate>
</equipment>
</agreement>
</batch>
</job>
 
Top