Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. XML / XSL
  4. Querying with an XML document

Querying with an XML document

Scheduled Pinned Locked Moved XML / XSL
questioncsharpasp-netxml
12 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V vinusk

    I have an XML document in my asp.net application containing country information eg 1 Afghanistan Afghan 93 Asia 2 Albania Albanian 355 Europe 3 Algeria Algerian 213 Africa When a country is selected from a dropdown list, I want to be able to run through the xml document and pick out the corresponding continent only. What is the best way to do this?:) Thanks, Vinu<

    L Offline
    L Offline
    led mike
    wrote on last edited by
    #2

    XPath

    //Country/Continent/text()[ancestor::*/CNo/text() = '?']

    replace the '?' charcter with the number for the selected country

    led mike

    G 1 Reply Last reply
    0
    • L led mike

      XPath

      //Country/Continent/text()[ancestor::*/CNo/text() = '?']

      replace the '?' charcter with the number for the selected country

      led mike

      G Offline
      G Offline
      George L Jackson
      wrote on last edited by
      #3

      Mike, Your query won't work. Since you know the country you can find the 'Country' child node of the parent (which happens to be 'Country' too), and, then, you can access its sibling 'Continent' node: //Country[Country='Afghanistan']/Continent

      V L 3 Replies Last reply
      0
      • G George L Jackson

        Mike, Your query won't work. Since you know the country you can find the 'Country' child node of the parent (which happens to be 'Country' too), and, then, you can access its sibling 'Continent' node: //Country[Country='Afghanistan']/Continent

        V Offline
        V Offline
        vinusk
        wrote on last edited by
        #4

        Thanks Mike, Will try out the solution you have suggested. Is there anyway I can do this using XMLTextReader... Regards, Vinu

        L G 2 Replies Last reply
        0
        • G George L Jackson

          Mike, Your query won't work. Since you know the country you can find the 'Country' child node of the parent (which happens to be 'Country' too), and, then, you can access its sibling 'Continent' node: //Country[Country='Afghanistan']/Continent

          L Offline
          L Offline
          led mike
          wrote on last edited by
          #5

          George L. Jackson wrote:

          Your query won't work.

          It worked when I ran it. Is that what you mean?

          led mike

          1 Reply Last reply
          0
          • V vinusk

            Thanks Mike, Will try out the solution you have suggested. Is there anyway I can do this using XMLTextReader... Regards, Vinu

            L Offline
            L Offline
            led mike
            wrote on last edited by
            #6

            vinusk wrote:

            can do this using XMLTextReader...

            I have not used XMLTextReader much so I do not know, but typically if you are going to query XML you use a DOM and SelectNodes(). I would normally use XmlDocument for that.

            led mike

            1 Reply Last reply
            0
            • G George L Jackson

              Mike, Your query won't work. Since you know the country you can find the 'Country' child node of the parent (which happens to be 'Country' too), and, then, you can access its sibling 'Continent' node: //Country[Country='Afghanistan']/Continent

              L Offline
              L Offline
              led mike
              wrote on last edited by
              #7

              Here is another

              //Country[CNo = '?']/Continent/text()

              XPath is pretty nice eh? :-D I always run these before I post them.

              led mike

              G V 2 Replies Last reply
              0
              • L led mike

                Here is another

                //Country[CNo = '?']/Continent/text()

                XPath is pretty nice eh? :-D I always run these before I post them.

                led mike

                G Offline
                G Offline
                George L Jackson
                wrote on last edited by
                #8

                :-> My bad! Your code didn't seem correct to me. I am sorry.

                L 1 Reply Last reply
                0
                • G George L Jackson

                  :-> My bad! Your code didn't seem correct to me. I am sorry.

                  L Offline
                  L Offline
                  led mike
                  wrote on last edited by
                  #9

                  George L. Jackson wrote:

                  Your code didn't seem correct to me.

                  No sweat. It never seems right to me that's why I always run it. :laugh:

                  led mike

                  V 1 Reply Last reply
                  0
                  • V vinusk

                    Thanks Mike, Will try out the solution you have suggested. Is there anyway I can do this using XMLTextReader... Regards, Vinu

                    G Offline
                    G Offline
                    George L Jackson
                    wrote on last edited by
                    #10

                    If you are using .NET Framework 1.1, it is XmlTextReader. If you are using .NET Framework 2.0, it is XmlReader. Anyway, you query differently with XmlTextReader/XmlReader since it uses a pull technique. However, you can get the same results but you have to do more coding. http://www.codeproject.com/useritems/XmlTextReader.asp[^]

                    1 Reply Last reply
                    0
                    • L led mike

                      George L. Jackson wrote:

                      Your code didn't seem correct to me.

                      No sweat. It never seems right to me that's why I always run it. :laugh:

                      led mike

                      V Offline
                      V Offline
                      vinusk
                      wrote on last edited by
                      #11

                      Thanks Mike and George. I will try it out and revert back. With warm regards, Vinu

                      1 Reply Last reply
                      0
                      • L led mike

                        Here is another

                        //Country[CNo = '?']/Continent/text()

                        XPath is pretty nice eh? :-D I always run these before I post them.

                        led mike

                        V Offline
                        V Offline
                        vinusk
                        wrote on last edited by
                        #12

                        Thanks got it working.:)

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups