Solved

XmlTextReader screen scrape get xml element content

Posted on 2006-11-30
4
469 Views
Last Modified: 2013-11-19
Im trying to grab xml off a web page and get the content of one particular element.

i have a page xml.asp that outputs the following xml:

<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="../quote_xml.css"?>
<quotes>
            <quote>
                        <exchange>XYZ</exchange>
                        <symbol>ABC</symbol>
                        <description>Lorem Ipsum</description>
                        <lastprice>32.500</lastprice>
                        <timestamp>
                                    <date>20061201</date>
                                    <time>105500</time>
                        </timestamp>
            </quote>
</quotes>

in my vb.net code i have this so far:

Imports System.XML

Dim xtr as New XmlTextReader("http://www.mypage.com/xml.asp")

xtr.MoveToContent()
xtr.MoveToElement("lastprice") 'error here!

'how can i get the lastprice element's content i.e. 32.500 ?
'i'm unsure of how to use the XmlTextReader's methods, can someone point out good examples of its usage?




0
Comment
Question by:VirusMinus
  • 2
4 Comments
 
LVL 16

Expert Comment

by:Hillwaaa
ID: 18050475
Hi VirusMinus,

Check out: http://www.codeproject.com/vb/net/parsefilecode.asp

it has a good example on parsing xml.

Cheers,
Hillwaaa
0
 
LVL 30

Author Comment

by:VirusMinus
ID: 18050729
Thanks, i saw that page already. any ideas on my particular problem. I'm thinking there's got to be a simpler way to do it as compared to what the page shows, just to get one element's content.
0
 
LVL 16

Accepted Solution

by:
Hillwaaa earned 500 total points
ID: 18050818
From that document, I'd say the easiest option for you is:

      Dim m_xmld = New XmlDocument
        'Load the Xml file
        m_xmld.Load("http://www.mypage.com/xml.asp")
        'Get the list of name nodes
        m_xmld.SelectNodes("/family/name")
        Dim m_nodelist As Xml.XmlNodeList
        m_nodelist = m_xmld.SelectNodes("/quotes/quote")
        Dim m_node As Xml.XmlNode
        'Loop through the nodes
        For Each m_node In m_nodelist
            MessageBox.Show(m_node.ChildNodes.Item(3).InnerText)
        Next
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Showdialog 8 29
Help with deleting records by comparing two files using VB.NET 8 56
Exit the loop 4 35
Need a starter for ETL protocol? 4 42
JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now