Read XML value

G

google_groups3

OK, this is driving me nuts but it must be easier than it seems to me.
Below is an XML file I have been given. I can write to it fine but I
just cannot work out the code for reading a value. So, can anyone
show me how?? I want to read the value "RefreshInterval"

<?xml version="1.0" ?>
- <!-- XML File -->
- <MyApp>
- <Configuration>
- <Folders Count="4">
<F0>c:\Testing\Upload</Src0>
<F1>c:\Testing\Download</Src1>
<F2>c:\Downloads</Src2>
<F3>c:\Debug</Src3>
</SourceFolders>
- <AutoRefresh>
<RefreshInterval>15</RefreshInterval>
</AutoRefresh>
</Configuration>
</SafeGuard>

I have googled my ass off but not found an example that works. So, by
posting my XML file I am hoping that someone can show me how to read
that value.

TIA

p.s. sorry if this has been asked a million times!
 
C

Chris Dunaway

OK, this is driving me nuts but it must be easier than it seems to me.
Below is an XML file I have been given. I can write to it fine but I
just cannot work out the code for reading a value. So, can anyone
show me how?? I want to read the value "RefreshInterval"

<?xml version="1.0" ?>
- <!-- XML File -->
- <MyApp>
- <Configuration>
- <Folders Count="4">
<F0>c:\Testing\Upload</Src0>
<F1>c:\Testing\Download</Src1>
<F2>c:\Downloads</Src2>
<F3>c:\Debug</Src3>
</SourceFolders>
- <AutoRefresh>
<RefreshInterval>15</RefreshInterval>
</AutoRefresh>
</Configuration>
</SafeGuard>

I have googled my ass off but not found an example that works. So, by
posting my XML file I am hoping that someone can show me how to read
that value.

TIA

p.s. sorry if this has been asked a million times!

Firstly, your XML is not well formed. You have a opening <MyApp> tag, but
not matching </MyApp> tag. You also have a closing </SafeGuard> tag but no
opening <SafeGuard> tag.

Assuming these are just typos, here is some code to read the value of
RefreshInterval:

Imports System.Xml

Dim xDoc As New XmlDocument
xDoc.Load(xmlfilenamehere)

Dim xRefresh As XmlNode
xRefresh = xDoc.SelectSingleNode("MyApp/AutoRefresh/RefreshInterval")

Dim iInterval As Integer = CInt(xRefresh.InnerText)


Hope this helps

--
Chris

dunawayc[AT]sbcglobal_lunchmeat_[DOT]net

To send me an E-mail, remove the "[", "]", underscores ,lunchmeat, and
replace certain words in my E-Mail address.
 
G

google_groups3

Firstly, your XML is not well formed. You have a opening <MyApp> tag, but
not matching </MyApp> tag. You also have a closing </SafeGuard> tag but no
opening <SafeGuard> tag.

Assuming these are just typos, here is some code to read the value of
RefreshInterval:

Imports System.Xml

Dim xDoc As New XmlDocument
xDoc.Load(xmlfilenamehere)

Dim xRefresh As XmlNode
xRefresh = xDoc.SelectSingleNode("MyApp/AutoRefresh/RefreshInterval")

Dim iInterval As Integer = CInt(xRefresh.InnerText)


Hope this helps

<SNIP>

Perfect, Perfect, Perfect!

p.s. those where just typos. thanks.
 
N

Nick Malik

In addition to just reading a value, and in addition to the comments of
Chris, I'd suggest you can use the XSD.EXE tool that comes with the .net
framework sdk. This tool can take a well-formed xml and produce a schema.
You can edit the schema (graphically) to make sure it is what you want. You
can then use the same tool to create a class that maps to that schema.

Then, it's a simple act of deserializing your data into the class. After
that, you can read EVERY value simply from an object.

It's pretty sweet.

--- Nick
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top