Solved

Reading XML Node values (vb.net)

Posted on 2011-02-23
4
417 Views
Last Modified: 2012-05-11
This is a sample of my config file

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <info>
        
    <Import timeOfDay="07:30" fileTypes="txt" sourceFolder="C:\Pending" destinationFolder="C:\Processed" logFilePath="log.txt" />
 
  </info>

</configuration>

There are lots of examples on how to get data from an XML file on the web, but my requirement is slightly different.

The key contains several values, how do I get each of them into local variables in my app.

If I could use the ConfigurationManager that would be great, but for now I'm resigned to just getting the data out.

Andy
0
Comment
Question by:Andy Green
  • 2
4 Comments
 
LVL 17

Expert Comment

by:nepaluz
ID: 34965241
By keys do you mean the attributes?
0
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 500 total points
ID: 34965255
You mean you want to get the attributes of the "Import" node?

Try something like:
        Dim doc As New XmlDocument()
        doc.Load("Your xml file")

        Dim node As XmlNode = doc.SelectSingleNode("configuration/info/Import")

        Dim timeOfDay As String = node.Attributes("timeOfDay").InnerText
        Dim fileTypes As String = node.Attributes("fileTypes").InnerText

        '... etc, etc ....

Open in new window

0
 
LVL 17

Expert Comment

by:nepaluz
ID: 34965400
indeed you can use this too

        Dim StockDoc As XDocument = XDocument.Load("FullPathToYourFile.xml")
        Dim xtimeOfDay = From kp In StockDoc.Root.Descendants("Import") Select kp.@<timeOfDay>
        Dim xfileTypes = From kp In StockDoc.Root.Descendants Select kp.@<fileTypes>
        Dim xsourceFolder = From kp In StockDoc.Root.Descendants Select kp.@<sourceFolder>
        Dim xdestinationFolder = From kp In StockDoc.Root.Descendants Select kp.@<destinationFolder>
        Dim xlogFilePath = From kp In StockDoc.Root.Descendants Select kp.@<logFilePath>

Open in new window


The variables (lists) will include ALL attributes from ALL
Import

Open in new window

XElements sequentially.
0
 
LVL 3

Author Closing Comment

by:Andy Green
ID: 34965501
Great thank you

Andy
0

Featured Post

The New “Normal” in Modern Enterprise Operations

DevOps for the modern enterprise offers many benefits — increased agility, productivity, and more, but digital transformation isn’t easy, especially if you’re not addressing the right issues. Register for the webinar to dive into the “new normal” for enterprise modern ops.

Question has a verified solution.

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

Suggested Solutions

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

830 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