Results 1 to 3 of 3

Thread: How to Get XML Nodes from XML File ?

  1. #1

    Thread Starter
    Member
    Join Date
    Oct 2011
    Posts
    60

    Thumbs up How to Get XML Nodes from XML File ?

    Hello Friends :

    this is my xml file...


    Code:
      <!-- General -->
      <General>
        <ApplicationVersion>7.0</ApplicationVersion>
        <Type>DocumentsSize</Type>
      </General>
    
      <!-- Starting Values -->
      <Values>
        <!-- NormalType Sheet Size Values -->
        <NormalType>
          <Sizes>
            <Width>8</Width>
            <Height>6</Height>
            <Units>6</Units>
            <Resolution>6</Resolution>
          </Sizes>
          <Sizes>
            <Width>12</Width>
            <Height>8</Height>
            <Units>8</Units>
            <Resolution>8</Resolution>
          </Sizes>
          <Sizes>
            <Width>12</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>12</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
          <Sizes>
            <Width>14</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>15</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>15</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
          <Sizes>
            <Width>16</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>16</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
          <Sizes>
            <Width>18</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
        </NormalType>
        <!-- DiaryType Sheet Size Values -->
        <DiaryType>
          <Sizes>
            <Width>24</Width>
            <Height>8</Height>
            <Units>8</Units>
            <Resolution>8</Resolution>
          </Sizes>
          <Sizes>
            <Width>24</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>24</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
          <Sizes>
            <Width>28</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>30</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>30</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
          <Sizes>
            <Width>32</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>32</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
          <Sizes>
            <Width>36</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
        </DiaryType>
        <!-- VerticalType Sheet Size Values -->
        <VerticalType>
          <Sizes>
            <Width>8</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
          <Sizes>
            <Width>10</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
          <Sizes>
            <Width>12</Width>
            <Height>15</Height>
            <Units>15</Units>
            <Resolution>15</Resolution>
          </Sizes>
          <Sizes>
            <Width>12</Width>
            <Height>16</Height>
            <Units>16</Units>
            <Resolution>16</Resolution>
          </Sizes>
          <Sizes>
            <Width>12</Width>
            <Height>18</Height>
            <Units>18</Units>
            <Resolution>18</Resolution>
          </Sizes>
        </VerticalType>
        <!-- PadNormalTypeSizes Sheet Size Values -->
        <PadNormalTypeSizes>
          <Sizes>
            <Width>13.5</Width>
            <Height>11</Height>
            <Units>11</Units>
            <Resolution>11</Resolution>
          </Sizes>
          <Sizes>
            <Width>13.5</Width>
            <Height>11.5</Height>
            <Units>11.5</Units>
            <Resolution>11.5</Resolution>
          </Sizes>
          <Sizes>
            <Width>14</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
          <Sizes>
            <Width>14</Width>
            <Height>11.5</Height>
            <Units>11.5</Units>
            <Resolution>11.5</Resolution>
          </Sizes>
          <Sizes>
            <Width>15</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>16</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>18</Width>
            <Height>12</Height>
            <Units>12</Units>
            <Resolution>12</Resolution>
          </Sizes>
        </PadNormalTypeSizes>
        <!-- PadDiaryTypeSizes Sheet Size Values -->
        <PadDiaryTypeSizes>
          <Sizes>
            <Width>28</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>30</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>32</Width>
            <Height>10</Height>
            <Units>10</Units>
            <Resolution>10</Resolution>
          </Sizes>
          <Sizes>
            <Width>42</Width>
            <Height>14</Height>
            <Units>14</Units>
            <Resolution>14</Resolution>
          </Sizes>
        </PadDiaryTypeSizes>
      </Values>

    i have one combobox and 1 listview control

    how to get the childnodes collection under the "VALUES"node
    means i want to add the childnode names into combobox like
    "NormalType"
    "DiaryType"
    "PadNormalTypeSize"
    "PadDiaryTypeSizes"

    and if changed the combobox SelectedIndex value (NormalType or DiaryType or PadNormalTypeSize) then
    i want to add as listviewitems in listview control
    like

    Code:
    Lsv.Items.Add(New ListViewItem(New String() {String.Format(width, height, units, Resolution)}))

    really m struggled please help


    Thanks

  2. #2
    eXtreme Programmer .paul.'s Avatar
    Join Date
    May 2007
    Location
    Chelmsford UK
    Posts
    26,413

    Re: How to Get XML Nodes from XML File ?

    try this. I used xDocument, and xElement, with LINQ to XML:

    Code:
    Public Class Form1
    
        Dim xml As XDocument = _
        <?xml version="1.0" standalone="no"?>
        <root>
            <!-- General -->
            <General>
                <ApplicationVersion>7.0</ApplicationVersion>
                <Type>DocumentsSize</Type>
            </General>
    
            <!-- Starting Values -->
            <Values>
                <!-- NormalType Sheet Size Values -->
                <NormalType>
                    <Sizes>
                        <Width>8</Width>
                        <Height>6</Height>
                        <Units>6</Units>
                        <Resolution>6</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>12</Width>
                        <Height>8</Height>
                        <Units>8</Units>
                        <Resolution>8</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>12</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>12</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>14</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>15</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>15</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>16</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>16</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>18</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                </NormalType>
                <!-- DiaryType Sheet Size Values -->
                <DiaryType>
                    <Sizes>
                        <Width>24</Width>
                        <Height>8</Height>
                        <Units>8</Units>
                        <Resolution>8</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>24</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>24</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>28</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>30</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>30</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>32</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>32</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>36</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                </DiaryType>
                <!-- VerticalType Sheet Size Values -->
                <VerticalType>
                    <Sizes>
                        <Width>8</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>10</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>12</Width>
                        <Height>15</Height>
                        <Units>15</Units>
                        <Resolution>15</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>12</Width>
                        <Height>16</Height>
                        <Units>16</Units>
                        <Resolution>16</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>12</Width>
                        <Height>18</Height>
                        <Units>18</Units>
                        <Resolution>18</Resolution>
                    </Sizes>
                </VerticalType>
                <!-- PadNormalTypeSizes Sheet Size Values -->
                <PadNormalTypeSizes>
                    <Sizes>
                        <Width>13.5</Width>
                        <Height>11</Height>
                        <Units>11</Units>
                        <Resolution>11</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>13.5</Width>
                        <Height>11.5</Height>
                        <Units>11.5</Units>
                        <Resolution>11.5</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>14</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>14</Width>
                        <Height>11.5</Height>
                        <Units>11.5</Units>
                        <Resolution>11.5</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>15</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>16</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>18</Width>
                        <Height>12</Height>
                        <Units>12</Units>
                        <Resolution>12</Resolution>
                    </Sizes>
                </PadNormalTypeSizes>
                <!-- PadDiaryTypeSizes Sheet Size Values -->
                <PadDiaryTypeSizes>
                    <Sizes>
                        <Width>28</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>30</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>32</Width>
                        <Height>10</Height>
                        <Units>10</Units>
                        <Resolution>10</Resolution>
                    </Sizes>
                    <Sizes>
                        <Width>42</Width>
                        <Height>14</Height>
                        <Units>14</Units>
                        <Resolution>14</Resolution>
                    </Sizes>
                </PadDiaryTypeSizes>
            </Values>
        </root>
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ComboBox1.DataSource = (From node As XElement In xml...<Values>.Elements Select node.Name).ToList
        End Sub
    
        Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
            Dim items As List(Of String()) = (From node As XElement In xml...<Values>.Elements(ComboBox1.Text)...<Sizes> Select New String() _
                                             {node.Elements("Width").Value, node.Elements("Height").Value, node.Elements("Units").Value, node.Elements("Resolution").Value}).ToList
            ListView1.Items.Clear()
            For Each item As String() In items
                ListView1.Items.Add(New ListViewItem(item))
            Next
        End Sub
    
    End Class

  3. #3

    Thread Starter
    Member
    Join Date
    Oct 2011
    Posts
    60

    Re: How to Get XML Nodes from XML File ?

    wow !!! what a immediate response !!!
    thanks paul sir... sure I will test and reply soon

    ThQ So Much sir

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width