Click here to Skip to main content
15,890,995 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,

Iam doing XML reading using dom concepts, But i couldn't retrieve values correctly.

I WANTTO RETRIEVE BELOW PART

XML
<area id="508" Type="paragraph" visible="1" source_ap="True" invert="False" rotation="0" ignoretext="0">
          <pagename><![CDATA[11187_2014_06_14_000002_0004_NFHEZ]]></pagename>
          <pagenumber>1</pagenumber>
          <left>603</left>
          <top>868</top>
          <right>764</right>
          <bottom>1132</bottom>
          <polygon ispolygon="0" noofpoints="0"><![CDATA[]]></polygon>
       </area>



HERE IS THE FULL SAMPLE XML WHERE I WANT TO RETRIEVE USING FOR LOOP.

XML
<?xml version="1.0" encoding="UTF-8"?>
<articles>
   <template istemplate="true" twidth="0" theight="0" uwidth="0" uheight="0" ubottom="0"></template>
   <article name="11187_2014_06_14_000002_0004_NFHEZ_00004" id="4">
      <articlename><![CDATA[11187_2014_06_14_000002_0004_NFHEZ_00004]]></articlename>
      <input_pages>
         <page name="11187_2014_06_14_000002_0004_NFHEZ" number="3">
            <pagepdfheight>1125</pagepdfheight>
            <pagepdfwidth>786</pagepdfwidth>
            <pagejpgheight>1125</pagejpgheight>
            <pagejpgwidth>786</pagejpgwidth>
            <pagejpgresolution>72</pagejpgresolution>
            <name><![CDATA[11187_2014_06_14_000002_0004_NFHEZ]]></name>
      <Article_Area>0</Article_Area>
      <Article_percentage>0</Article_percentage>
      </page>
      </input_pages>
      <NoOfPage>1</NoOfPage>
      <output_pages>
         <page number="1" height="0" width="0"/>
      </output_pages>
      <read>
         <area id="508" Type="paragraph" visible="1" source_ap="True" invert="False" rotation="0" ignoretext="0">
            <pagename><![CDATA[11187_2014_06_14_000002_0004_NFHEZ]]></pagename>
            <pagenumber>1</pagenumber>
            <left>603</left>
            <top>868</top>
            <right>764</right>
            <bottom>1132</bottom>
            <polygon ispolygon="0" noofpoints="0"><![CDATA[]]></polygon>
         </area>
         <area id="507" Type="paragraph" visible="1" source_ap="True" invert="False" rotation="0" ignoretext="0">
            <pagename><![CDATA[11187_2014_06_14_000002_0004_NFHEZ]]></pagename>
                 <pagenumber>1</pagenumber>
                 <left>462</left>
                 <top>868</top>
                 <right>601</right>
                 <bottom>1131</bottom>
            <polygon ispolygon="0" noofpoints="0"><![CDATA[]]></polygon>
         </area>
      </read>
   </article>
</articles>



My code is:

VB
Dim doc As New XmlDocument()
        Dim sValue, sPgName As String
        Dim sLeft, sTops, sRight, sBottom As String
        Dim ObjZoneInfo As CZoneInfo
        Try
            doc.Load(sFile)
              If doc.ChildNodes.Item(0).Name = "xml" Then
                If doc.ChildNodes.Item(1).Name = "articles" Then
                    For i As Integer = 0 To doc.ChildNodes.Item(1).ChildNodes.Count - 1
                        If doc.ChildNodes.Item(2).ChildNodes.Item(i).Name = "article" Then
                            ObjZoneInfo = New CZoneInfo
                            For j As Integer = 0 To doc.ChildNodes.Item(2).ChildNodes.Item(i).ChildNodes.Count - 1
                                sValue = doc.ChildNodes.Item(1).ChildNodes.Item(i).ChildNodes.Item(j).InnerText


                                If doc.ChildNodes.Item(1).ChildNodes.Item(i).ChildNodes.Item(j).Name = "page_name" Then
                                    If sProFiles.Contains(sValue) = False Then
                                        sProFiles.Add(sValue)
                                    End If
                                    ObjZoneInfo.PageName = sValue : sPgName = sValue
Posted
Updated 3-Nov-14 20:51pm
v4

1 solution

What are you doing is not the right way of extracting data from xml. You should be using XPath to extract information. Check this article Manipulate XML data with XPath and XmlDocument (C#)[^]. Good luck
 
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