Click here to Skip to main content
15,896,726 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi Guys so i have this xml and theres certain data i want to load in a datagridview

this is the xml
XML
<?xml version="1.0"?>

-<ROOT>


-<EnqCC_ENQ_COUNTS>


-<ROW num="1">

<ADDR>5</ADDR>

<ADMORDS>0</ADMORDS>

<COLLECTIONS>0</COLLECTIONS>

<DMATCHES>1</DMATCHES>

<JUDGE>0</JUDGE>

<NOTICES>0</NOTICES>

<LOANS>1</LOANS>

<PMATCHES>0</PMATCHES>

<PREV_ENQ>5</PREV_ENQ>

<TPHONE>1</TPHONE>

<EMPLOYERS>5</EMPLOYERS>

<FRAUDALERT>0</FRAUDALERT>

<CPACC>0</CPACC>

<NLRACC>0</NLRACC>

<PUB_DEF>0</PUB_DEF>

<CS_ADVERSE>0</CS_ADVERSE>

</ROW>

</EnqCC_ENQ_COUNTS>


-<EnqCC_ADDRESS>


-<ROW num="1">

<ADDRESS_TYPE>P</ADDRESS_TYPE>

<LINE_1>PO BOX 1258</LINE_1>

<LINE_2>PIET RETIEF</LINE_2>

<LINE_3/>

<LINE_4/>

<POSTAL_CODE>2380</POSTAL_CODE>

<DATE_CREATED>27/05/2016</DATE_CREATED>

<ADDR_DATE_CREATED>17/10/2011</ADDR_DATE_CREATED>

</ROW>


-<ROW num="2">

<ADDRESS_TYPE>R</ADDRESS_TYPE>

<LINE_1>1810 DONA ROAD</LINE_1>

<LINE_2/>

<LINE_3/>

<LINE_4>EVATON</LINE_4>

<POSTAL_CODE>1984</POSTAL_CODE>

<DATE_CREATED>27/05/2016</DATE_CREATED>

<ADDR_DATE_CREATED>30/09/2011</ADDR_DATE_CREATED>

</ROW>


-<ROW num="3">

<ADDRESS_TYPE>P</ADDRESS_TYPE>

<LINE_1>NNA ROAD</LINE_1>

<LINE_2>EVATON WE</LINE_2>

<LINE_3>S UIT 4 MAFATSANA</LINE_3>

<LINE_4>001980220</LINE_4>

<POSTAL_CODE>91208</POSTAL_CODE>

<DATE_CREATED>27/05/2016</DATE_CREATED>

<ADDR_DATE_CREATED>31/08/2011</ADDR_DATE_CREATED>

</ROW>


-<ROW num="4">

<ADDRESS_TYPE>P</ADDRESS_TYPE>

<LINE_1>1810 8 DONA ROAD</LINE_1>

<LINE_2/>

<LINE_3/>

<LINE_4>EVATON</LINE_4>

<POSTAL_CODE>1984</POSTAL_CODE>

<DATE_CREATED>27/05/2016</DATE_CREATED>

<ADDR_DATE_CREATED>30/09/2011</ADDR_DATE_CREATED>

</ROW>


-<ROW num="5">

<ADDRESS_TYPE>R</ADDRESS_TYPE>

<LINE_1/>

<LINE_2>EVATON</LINE_2>

<LINE_3/>

<LINE_4/>

<POSTAL_CODE>1984</POSTAL_CODE>

<DATE_CREATED>27/05/2016</DATE_CREATED>

<ADDR_DATE_CREATED>30/09/2011</ADDR_DATE_CREATED>

</ROW>

</EnqCC_ADDRESS>


-<EnqCC_BRANCHES>


-<ROW num="1">

<CLIENT_NUMBER>1806091196847035</CLIENT_NUMBER>

<NUMBER_LOANS>1</NUMBER_LOANS>

<BRANCH_NAME>Capitec - Piet Retief</BRANCH_NAME>

<CONTACT_PERSON>The Manager</CONTACT_PERSON>

<TELEPHONE_NUMBER>TBA</TELEPHONE_NUMBER>

<STATUS>Current Loan</STATUS>

<BRA_COMMENT/>

<CLIENT_STATUS>1</CLIENT_STATUS>

</ROW>

</EnqCC_BRANCHES>

<EnqCC_HP/>


-<EnqCC_LOANS>


-<ROW num="1">

<DATE_DUE>2009/07/31</DATE_DUE>

<DATE_ISSUED>2009/06/18 00:00</DATE_ISSUED>

<INSTALL_AMT>2636</INSTALL_AMT>

<REF_NO>1806091196847035</REF_NO>

<TOT_AMT_REPAYABLE>25000</TOT_AMT_REPAYABLE>

<BRANCH_NAME>Capitec - Piet Retief</BRANCH_NAME>

<CONTACT_PERSON>The Manager</CONTACT_PERSON>

<TELEPHONE_NUMBER>TBA</TELEPHONE_NUMBER>

<STATUS>Open</STATUS>

</ROW>

</EnqCC_LOANS>


-<EnqCC_DMATCHES>


-<ROW num="1">

<ID_NUMBER>8001060716081</ID_NUMBER>

<COUNTRY_CODE>South Africa</COUNTRY_CODE>

<NAME>MARIA</NAME>

<SURNAME>SEJAKE</SURNAME>

<STATUS>Verified</STATUS>

<DECEASED_DATE/>

</ROW>

</EnqCC_DMATCHES>


-<EnqCC_PREVENQ>


-<ROW num="1">

<ENQUIRY_DATE>26-05-2016 10:05</ENQUIRY_DATE>

<BRANCH_NAME>Consumer Financial Services - Wynberg</BRANCH_NAME>

<CONTACT_PERSON>Widad Edwards</CONTACT_PERSON>

<TELEPHONE_NUMBER>(021) 761 3658</TELEPHONE_NUMBER>

</ROW>


-<ROW num="2">

<ENQUIRY_DATE>25-05-2016 11:36</ENQUIRY_DATE>

<BRANCH_NAME>Consumer Financial Services - Wynberg</BRANCH_NAME>

<CONTACT_PERSON>Widad Edwards</CONTACT_PERSON>

<TELEPHONE_NUMBER>(021) 761 3658</TELEPHONE_NUMBER>

</ROW>


-<ROW num="3">

<ENQUIRY_DATE>18-06-2009 16:00</ENQUIRY_DATE>

<BRANCH_NAME>Capitec - Piet Retief</BRANCH_NAME>

<CONTACT_PERSON>The Manager</CONTACT_PERSON>

<TELEPHONE_NUMBER>TBA</TELEPHONE_NUMBER>

</ROW>


-<ROW num="4">

<ENQUIRY_DATE>30-03-2009 13:37</ENQUIRY_DATE>

<BRANCH_NAME>Capitec - Vereeniging Voortrekker</BRANCH_NAME>

<CONTACT_PERSON>The Manager</CONTACT_PERSON>

<TELEPHONE_NUMBER>(016) 422 3905</TELEPHONE_NUMBER>

</ROW>


-<ROW num="5">

<ENQUIRY_DATE>20-10-2008 11:29</ENQUIRY_DATE>

<BRANCH_NAME>Capitec - Piet Retief</BRANCH_NAME>

<CONTACT_PERSON>The Manager</CONTACT_PERSON>

<TELEPHONE_NUMBER>TBA</TELEPHONE_NUMBER>

</ROW>

</EnqCC_PREVENQ>


-<EnqCC_TELEPHONE>


-<ROW num="1">

<TEL_NUMBER_TYPE>W</TEL_NUMBER_TYPE>

<TEL_NUMBER>0178015000</TEL_NUMBER>

<DATE_CREATED>27-05-2016</DATE_CREATED>

<TEL_DATE_CREATED>10-11-2015</TEL_DATE_CREATED>

</ROW>

</EnqCC_TELEPHONE>


-<EnqCC_SRCHCRITERIA>


-<ROW num="1">

<CRIT_IDNUMBER>8001060716081</CRIT_IDNUMBER>

<CRIT_NAME>X </CRIT_NAME>

<CRIT_SURNAME>X</CRIT_SURNAME>

<ENQ_CNT_NAME>South Africa</ENQ_CNT_NAME>

<ENQ_DATE>2016-05-27 09:17:42</ENQ_DATE>

<DOB>1980-01-06</DOB>

<GENDER>MALE</GENDER>

<PASSPORT_FLAG>NO</PASSPORT_FLAG>

<ADDRESS>X X 1234</ADDRESS>

<LOAN_AMOUNT/>

<NET_INCOME/>

<ENQUIRY_PURPOSE>Debt Review</ENQUIRY_PURPOSE>

<HOMETEL> </HOMETEL>

<WORK_TEL> </WORK_TEL>

<CRIT_CELL_NUM/>

</ROW>

</EnqCC_SRCHCRITERIA>


-<EnqCC_EMPLOYER>


-<ROW num="1">

<EMP_NAME>SIPHOKUHLE SECONDARY</EMP_NAME>

<EMP_DATE>2011-09-30</EMP_DATE>

<OCCUPATION>STUDENT</OCCUPATION>

<EMP_TYPE> </EMP_TYPE>

<SALARY_FREQ> </SALARY_FREQ>

<PAYSLIP_REF> </PAYSLIP_REF>

<EMPLOYEE_NO> </EMPLOYEE_NO>

<DATE_CREATED>2016-05-27</DATE_CREATED>

</ROW>


-<ROW num="2">

<EMP_NAME>B9 MPUMALANGA EDUCATION</EMP_NAME>

<EMP_DATE>2011-09-30</EMP_DATE>

<OCCUPATION> </OCCUPATION>

<EMP_TYPE> </EMP_TYPE>

<SALARY_FREQ> </SALARY_FREQ>

<PAYSLIP_REF> </PAYSLIP_REF>

<EMPLOYEE_NO> </EMPLOYEE_NO>

<DATE_CREATED>2016-05-27</DATE_CREATED>

</ROW>


-<ROW num="3">

<EMP_NAME>00002200000000000M</EMP_NAME>

<EMP_DATE>2011-08-31</EMP_DATE>

<OCCUPATION> </OCCUPATION>

<EMP_TYPE> </EMP_TYPE>

<SALARY_FREQ> </SALARY_FREQ>

<PAYSLIP_REF> </PAYSLIP_REF>

<EMPLOYEE_NO> </EMPLOYEE_NO>

<DATE_CREATED>2016-05-27</DATE_CREATED>

</ROW>


-<ROW num="4">

<EMP_NAME>SIPHOKUHLE SECONDARY</EMP_NAME>

<EMP_DATE>2011-03-31</EMP_DATE>

<OCCUPATION> </OCCUPATION>

<EMP_TYPE> </EMP_TYPE>

<SALARY_FREQ> </SALARY_FREQ>

<PAYSLIP_REF> </PAYSLIP_REF>

<EMPLOYEE_NO> </EMPLOYEE_NO>

<DATE_CREATED>2016-05-27</DATE_CREATED>

</ROW>


-<ROW num="5">

<EMP_NAME>NUC32</EMP_NAME>

<EMP_DATE>2010-03-31</EMP_DATE>

<OCCUPATION> </OCCUPATION>

<EMP_TYPE> </EMP_TYPE>

<SALARY_FREQ> </SALARY_FREQ>

<PAYSLIP_REF> </PAYSLIP_REF>

<EMPLOYEE_NO> </EMPLOYEE_NO>

<DATE_CREATED>2016-05-27</DATE_CREATED>

</ROW>

</EnqCC_EMPLOYER>


-<EnqCC_ACTIVITIES>


-<ROW num="1">

<ENQUIRIES>2</ENQUIRIES>

<LOANS>0</LOANS>

<JUDGEMENTS>0</JUDGEMENTS>

<NOTICES>0</NOTICES>

<COLLECTIONS>0</COLLECTIONS>

<ADMINORDERS>0</ADMINORDERS>

<BALANCE>25000</BALANCE>

<INSTALLMENT>2636</INSTALLMENT>

</ROW>

</EnqCC_ACTIVITIES>


-<EnqCC_STATS>


-<ROW num="1">

<CC_JUDGE_12_CNT>0</CC_JUDGE_12_CNT>

<CC_JUDGE_24_CNT>0</CC_JUDGE_24_CNT>

<CC_JUDGE_36_CNT>0</CC_JUDGE_36_CNT>

<CC_NOTICE_12_CNT>0</CC_NOTICE_12_CNT>

<CC_NOTICE_24_CNT>0</CC_NOTICE_24_CNT>

<CC_NOTICE_36_CNT>0</CC_NOTICE_36_CNT>

<CC_ADVERSE_12_CNT>0</CC_ADVERSE_12_CNT>

<CC_ADVERSE_24_CNT>0</CC_ADVERSE_24_CNT>

<CC_ADVERSE_36_CNT>0</CC_ADVERSE_36_CNT>

<CC_EVO_ADVERSE_12_CNT>0</CC_EVO_ADVERSE_12_CNT>

<CC_EVO_ADVERSE_24_CNT>0</CC_EVO_ADVERSE_24_CNT>

<CC_EVO_ADVERSE_36_CNT>0</CC_EVO_ADVERSE_36_CNT>

<CC_ADVERSE_TOT>0</CC_ADVERSE_TOT>

</ROW>

</EnqCC_STATS>


-<EnqCC_NLR_SUMMARY>


-<Summary>


-<NLR_Past_12_Months>

<Enquiries_by_client>3</Enquiries_by_client>

<Enquiries_by_other>0</Enquiries_by_other>

<Positive_loans>0</Positive_loans>

<Highest_months_in_arrears>0</Highest_months_in_arrears>

</NLR_Past_12_Months>


-<NLR_Past_24_Months>

<Enquiries_by_client>3</Enquiries_by_client>

<Enquiries_by_other>0</Enquiries_by_other>

<Positive_loans>0</Positive_loans>

<Highest_months_in_arrears>0</Highest_months_in_arrears>

</NLR_Past_24_Months>


-<NLR_Past_36_Months>

<Enquiries_by_client>3</Enquiries_by_client>

<Enquiries_by_other>0</Enquiries_by_other>

<Positive_loans>0</Positive_loans>

<Highest_months_in_arrears>0</Highest_months_in_arrears>

</NLR_Past_36_Months>

<NLR_WorstMonthsArrears>0</NLR_WorstMonthsArrears>

<NLR_ActiveAccounts>0</NLR_ActiveAccounts>

<NLR_BalanceExposure>0</NLR_BalanceExposure>

<NLR_MonthlyInstallment>0</NLR_MonthlyInstallment>

<NLR_CumulativeArrears>0</NLR_CumulativeArrears>

<NLR_ClosedAccounts>0</NLR_ClosedAccounts>


-<CCA_Past_12_Months>

<Enquiries_by_client>3</Enquiries_by_client>

<Enquiries_by_other>0</Enquiries_by_other>

<Positive_loans>0</Positive_loans>

<Highest_months_in_arrears>0</Highest_months_in_arrears>

</CCA_Past_12_Months>


-<CCA_Past_24_Months>

<Enquiries_by_client>3</Enquiries_by_client>

<Enquiries_by_other>0</Enquiries_by_other>

<Positive_loans>0</Positive_loans>

<Highest_months_in_arrears>0</Highest_months_in_arrears>

</CCA_Past_24_Months>


-<CCA_Past_36_Months>

<Enquiries_by_client>3</Enquiries_by_client>

<Enquiries_by_other>0</Enquiries_by_other>

<Positive_loans>0</Positive_loans>

<Highest_months_in_arrears>0</Highest_months_in_arrears>

</CCA_Past_36_Months>

<CCA_WorstMonthsArrears>0</CCA_WorstMonthsArrears>

<CCA_ActiveAccounts>0</CCA_ActiveAccounts>

<CCA_BalanceExposure>0</CCA_BalanceExposure>

<CCA_MonthlyInstallment>0</CCA_MonthlyInstallment>

<CCA_CumulativeArrears>0</CCA_CumulativeArrears>

<CCA_ClosedAccounts>0</CCA_ClosedAccounts>

<AdverseAccounts>0</AdverseAccounts>

<RevolvingAccounts>0</RevolvingAccounts>

<InstalmentAccounts>0</InstalmentAccounts>

<OpenAccounts>0</OpenAccounts>

<HighestJudgement>0</HighestJudgement>

</Summary>

</EnqCC_NLR_SUMMARY>

<Enquiry_ID>58196342</Enquiry_ID>


</ROOT>


How would i go about getting only the node <enqcc_loans> into a datagridview

What I have tried:

Dim nodeDataset As New DataSet
Dim filepath As String = "C:\test\Enq_8001060716081_58196342.xml"
nodeDataset.ReadXml(filepath)
DataGridView1.DataSource = nodeDataset
DataGridView1.DataMember = "EnqCC_LOANS"
Posted
Updated 1-Jun-16 6:50am
Comments
Sergey Alexandrovich Kryukov 1-Jun-16 10:02am    
Not clear. "Only the node" can read as "only one node". Which node? What's the problem?
DataGridViewCell.Value?
—SA
ebie147 1-Jun-16 10:18am    
basically i want this in a datagridview

-<enqcc_loans>


-<row num="1">

<date_due>2009/07/31</date_due>

<date_issued>2009/06/18 00:00</date_issued>

<install_amt>2636</install_amt>

<ref_no>1806091196847035</ref_no>

<tot_amt_repayable>25000</tot_amt_repayable>

<BRANCH_NAME>Capitec - Piet Retief</BRANCH_NAME>

<contact_person>The Manager</contact_person>

<telephone_number>TBA</telephone_number>

<status>Open</status>

</row>

</enqcc_loans>
Richard Deeming 1-Jun-16 11:15am    
You have to encode the < and > characters, otherwise they don't show up.

I've fixed your comment for you. :)
Patrice T 1-Jun-16 20:02pm    
your xml file look weird with the spaces and minus signs between tags.

1 solution

If you debug your code and place these lines after reading the file
VB
For Each xxx As System.Data.DataTable In nodeDataset.Tables
    Console.WriteLine("{0} : {1}", xxx.ToString(), xxx.Rows.Count)
Next

You should get the following output
ROOT : 1
EnqCC_ENQ_COUNTS : 1
ROW : 24
EnqCC_ADDRESS : 1
EnqCC_BRANCHES : 1
EnqCC_LOANS : 1
EnqCC_DMATCHES : 1
EnqCC_PREVENQ : 1
EnqCC_TELEPHONE : 1
EnqCC_SRCHCRITERIA : 1
EnqCC_EMPLOYER : 1
EnqCC_ACTIVITIES : 1
EnqCC_STATS : 1
EnqCC_NLR_SUMMARY : 1
Summary : 1
NLR_Past_12_Months : 1
NLR_Past_24_Months : 1
NLR_Past_36_Months : 1
CCA_Past_12_Months : 1
CCA_Past_24_Months : 1
CCA_Past_36_Months : 1

Notice the table called ROW - this is actually the data from the EnqCC_ENQ_Counts node. Unfortunately the EnqCC_LOANS also has sub-nodes called ROW - this second table is not being loaded into the DataSet.

One way around this is to target the specific node that you require and load that into the dataset e.g.
VB
Dim nodeDataset As New DataSet
Dim filepath As String = "C:\test\Enq_8001060716081_58196342.xml"

Dim xmlDoc As XmlDocument = New XmlDocument()
xmlDoc.Load(filepath)

Dim requiredNode As XmlNode = xmlDoc.SelectSingleNode("ROOT/EnqCC_LOANS")
Dim xmlRdr As XmlNodeReader = New XmlNodeReader(requiredNode)
nodeDataset.ReadXml(xmlRdr)

DataGridView1.DataSource = nodeDataset
DataGridView1.DataMember = "ROW"
xmlRdr.Close()
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900