I'm building a print manager that will bind XML data to a crystal report for
printing.' The printing will be done in batches. Each "batch" will have its
own set of reports generated. I'm trying to loop thru each batch, retreive
all the "agreement" child nodes into a node list, then loop through those, &
printing an "agreement" report from each item in the secondary loop. When I
try to retreive the "agreement" nodes via the "SelecNodes" method of the
XmlNode object, I come up empty. I'm 99% sure it's an xpath issue but can't
narrow it down more. Code & xml data follow:
------------------- XML---------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<job xmlns="http://www.w3schools.com">
<batch>
<invoice>
<header>
<customerid>4883</customerid>
<invoiceid>5SFGMFC</invoiceid>
<amount>45.98</amount>
<arinvoicedate>12/5/2004</arinvoicedate>
</header>
<detail id="1">
<type>package unit</type>
<unitprice>package unit</unitprice>
<quantity>5</quantity>
</detail>
</invoice>
<agreement>
<coveragestartdate>8/3/2005</coveragestartdate>
<coverageenddate>3/19/2007</coverageenddate>
<partnumber>RSCU-10-4LP</partnumber>
<agreementnumber>5022883003</agreementnumber>
<agreementcharge>45.02</agreementcharge>
<distributornumber>A90394</distributornumber>
</agreement>
<agreement>
<coveragestartdate>7/7/2002</coveragestartdate>
<coverageenddate>3/19/2007</coverageenddate>
<partnumber>GCS1SC-05-31LP</partnumber>
<agreementnumber>1926347</agreementnumber>
<agreementcharge>120.47</agreementcharge>
<distributornumber>G100-00200</distributornumber>
</agreement>
<agreement>
<coveragestartdate>12/31/2004</coveragestartdate>
<coverageenddate>3/19/2007</coverageenddate>
<partnumber>GCS1SC-10-31LP</partnumber>
<agreementnumber>9484777</agreementnumber>
<agreementcharge>67.11</agreementcharge>
<distributornumber>F1009-55900</distributornumber>
</agreement>
</batch>
</job>
------------------- CODE ---------------------
objBatchDataDoc = New XmlDocument
objBatchDataDoc.Load("http://localhost/ReportData.xml")
objBatchNodeList = objBatchDataDoc.GetElementsByTagName("batch")
For x = 0 To (objBatchNodeList.Count - 1)
objAgreementNodeList = objBatchNodeList.itemOf(x).SelectNodes("agreement" )
' I'm using this to test. count property keeps coming up 0
response.write(objAgreementNodeList.count & "<br>")
[CODE TO PARSE THE AGREEMENT NODES GOES HERE]
next