473,322 Members | 1,352 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,322 software developers and data experts.

reading XML files from codebehind file

Hi,
I have a configuration file I made in xml which I am using to name a
database server. (this way I can deploy my web page on various servers, and
just change this file to make it work). Unfortunately, I can't figure out
how to read this from the server side code behind file (either vb or c#).
Can anyone
post some sample code for this.

Thanks,
Martin

(xml file follows)

aConfigFile.xml
-------------------
<?xml version="1.0" encoding="utf-8" ?>
<aConfigFile xmlns="http://tempuri.org/aConfigFile.xsd">
<ServerName>thisIsTheNameOfADatabaseServer</ServerName>
</aConfigFile>

--
Martin Eyles
ma**********@NOSPAM.bytronic.com

Nov 19 '05 #1
8 5743
Martin Eyles wrote:
Hi,
I have a configuration file I made in xml which I am using to name
a database server. (this way I can deploy my web page on various
servers, and just change this file to make it work). Unfortunately, I
can't figure out how to read this from the server side code behind
file (either vb or c#). Can anyone
post some sample code for this.

Thanks,
Martin

(xml file follows)

aConfigFile.xml
-------------------
<?xml version="1.0" encoding="utf-8" ?>
<aConfigFile xmlns="http://tempuri.org/aConfigFile.xsd">
<ServerName>thisIsTheNameOfADatabaseServer</ServerName>
</aConfigFile>


You have to figure out the exact path to your file (hint: use MapPath),
then you can load that into an XmlDocument. If you place this file
within the website, use the extension ".config" (instead of .xml), then visitors
can't access that file.

XmlDocument cfg = new XmlDocument();
cfg.Load(MapPath("myfile.config");

XmlNode nd = cfg.SelectSingleNode("//ServerName");

but: you either have to remove the namespace (xmlns=..), or figure out how to
use the overload of SelectSingleNode with namespacemanager.

Hans Kesting

Nov 19 '05 #2
Hi,
Thanks for the code. I had to change XmlDocument to XmlDataDocument, but
otherwise it works (from a c# page). This is the final version I have put in
the test page I did.

System.Xml.XmlDataDocument cfg = new System.Xml.XmlDataDocument();
cfg.Load(MapPath("aConfigFile.config"));
System.Xml.XmlNode nd = cfg.SelectSingleNode("//ServerName");
Response.Write(nd.InnerText);

I just need to know what to do to convert it to VB.NET, as some of my pages
use this too. Most of this is Ok - My problem is that vb doesn't appear to
support the System.Xml.XmlNode object. Any Ideas?

Thanks,
Martin

--
Martin Eyles
ma**********@NOSPAM.bytronic.com

"Hans Kesting" <ne***********@spamgourmet.com> wrote in message
news:em**************@TK2MSFTNGP09.phx.gbl...
Martin Eyles wrote:
Hi,
I have a configuration file I made in xml which I am using to name
a database server. (this way I can deploy my web page on various
servers, and just change this file to make it work). Unfortunately, I
can't figure out how to read this from the server side code behind
file (either vb or c#). Can anyone
post some sample code for this.

Thanks,
Martin

(xml file follows)

aConfigFile.xml
-------------------
<?xml version="1.0" encoding="utf-8" ?>
<aConfigFile xmlns="http://tempuri.org/aConfigFile.xsd">
<ServerName>thisIsTheNameOfADatabaseServer</ServerName>
</aConfigFile>
You have to figure out the exact path to your file (hint: use MapPath),
then you can load that into an XmlDocument. If you place this file
within the website, use the extension ".config" (instead of .xml), then

visitors can't access that file.

XmlDocument cfg = new XmlDocument();
cfg.Load(MapPath("myfile.config");

XmlNode nd = cfg.SelectSingleNode("//ServerName");

but: you either have to remove the namespace (xmlns=..), or figure out how to use the overload of SelectSingleNode with namespacemanager.

Hans Kesting

Nov 19 '05 #3
Sorry,
just discovered what was wrong with the conversion. intelitext kept
trying to make it XmlNodeType, but higher up the list XmlNode was available,
and this works. The VB code works out to be:-

Dim cfg As New System.Xml.XmlDataDocument
cfg.Load(MapPath("aConfigFile.config"))
Dim nd As System.Xml.XmlNode
nd = cfg.SelectSingleNode("//ServerName")
Response.Write(nd.InnerText)

--
Martin Eyles
ma**********@NOSPAM.bytronic.com

"Martin Eyles" <ma**********@NOSPAM.bytronic.com> wrote in message
news:11*************@corp.supernews.com...
Hi,
Thanks for the code. I had to change XmlDocument to XmlDataDocument, but otherwise it works (from a c# page). This is the final version I have put in the test page I did.

System.Xml.XmlDataDocument cfg = new System.Xml.XmlDataDocument();
cfg.Load(MapPath("aConfigFile.config"));
System.Xml.XmlNode nd = cfg.SelectSingleNode("//ServerName");
Response.Write(nd.InnerText);

I just need to know what to do to convert it to VB.NET, as some of my pages use this too. Most of this is Ok - My problem is that vb doesn't appear to
support the System.Xml.XmlNode object. Any Ideas?

Thanks,
Martin

Nov 19 '05 #4
Is there some reason that you are not using
System.ConfigurationSettings.AppSettings() to get to the web.config file?

This is a very easy way for ASP.NET code (C# or VB.NET) to get to
configuration data.

--
Peter Kryszak
TeleCommunication Systems, Inc.

Nov 19 '05 #5
web.config has loads of junk data that I don't want in my config file. I
want an easy to write config file that I can write for each of the places
this is installed.

--
Martin Eyles
ma**********@NOSPAM.bytronic.com

"Peter Kryszak" <Pe**********@discussions.microsoft.com> wrote in message
news:98**********************************@microsof t.com...
Is there some reason that you are not using
System.ConfigurationSettings.AppSettings() to get to the web.config file?

This is a very easy way for ASP.NET code (C# or VB.NET) to get to
configuration data.

--
Peter Kryszak
TeleCommunication Systems, Inc.

Nov 19 '05 #6
Well, Martin, I would recommend using the .Net Configuration namespace, and
the web.config file. It may be uncomfortable to you now, but it is very
well-conceived, extensible, and standardized, meaning that other .Net
developers will already know how to use it if necessary.

However, assuming you want to go this route, check out the various
System.Xml namespaces. The .Net platform also has XML support out the wazoo.
Which namespaces and classes you use depend on how you want to use the XML.
Do you want a simple XML document, or something more strongly-typed? Do you
need to work with a DTD? A Schema? Again, the .Net platform and CLR support
all of the XML specification.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.

"Martin Eyles" <ma**********@NOSPAM.bytronic.com> wrote in message
news:11*************@corp.supernews.com...
web.config has loads of junk data that I don't want in my config file. I
want an easy to write config file that I can write for each of the places
this is installed.

--
Martin Eyles
ma**********@NOSPAM.bytronic.com

"Peter Kryszak" <Pe**********@discussions.microsoft.com> wrote in message
news:98**********************************@microsof t.com...
Is there some reason that you are not using
System.ConfigurationSettings.AppSettings() to get to the web.config file?

This is a very easy way for ASP.NET code (C# or VB.NET) to get to
configuration data.

--
Peter Kryszak
TeleCommunication Systems, Inc.


Nov 19 '05 #7
for context, the file only contains the name of an sql server at the moment.
There may be a couple of added bits later, but probably not more than five
tags. The config file works now, so I'm not bothered about any extra. Just
want to keep it simple. (thanks for all the earlier help, this sorted out
the problems I was having). Still, I take the point that, if I'm doing
something more complex, it might be useful to use another method.

<?xml version="1.0" encoding="utf-8" ?>
<L_______Config>
<ServerName>server</ServerName>
</L_______Config>

(L_______ is just to obscure a product name)

Thanks,
Martin

--
Martin Eyles
ma**********@NOSPAM.bytronic.com

"Kevin Spencer" <ke***@DIESPAMMERSDIEtakempis.com> wrote in message
news:el*************@TK2MSFTNGP12.phx.gbl...
Well, Martin, I would recommend using the .Net Configuration namespace, and the web.config file. It may be uncomfortable to you now, but it is very
well-conceived, extensible, and standardized, meaning that other .Net
developers will already know how to use it if necessary.

However, assuming you want to go this route, check out the various
System.Xml namespaces. The .Net platform also has XML support out the wazoo. Which namespaces and classes you use depend on how you want to use the XML. Do you want a simple XML document, or something more strongly-typed? Do you need to work with a DTD? A Schema? Again, the .Net platform and CLR support all of the XML specification.

--
HTH,

Kevin Spencer
Microsoft MVP
.Net Developer
Neither a follower nor a lender be.

"Martin Eyles" <ma**********@NOSPAM.bytronic.com> wrote in message
news:11*************@corp.supernews.com...
web.config has loads of junk data that I don't want in my config file. I
want an easy to write config file that I can write for each of the places this is installed.

--
Martin Eyles
ma**********@NOSPAM.bytronic.com

"Peter Kryszak" <Pe**********@discussions.microsoft.com> wrote in message news:98**********************************@microsof t.com...
Is there some reason that you are not using
System.ConfigurationSettings.AppSettings() to get to the web.config file?
This is a very easy way for ASP.NET code (C# or VB.NET) to get to
configuration data.

--
Peter Kryszak
TeleCommunication Systems, Inc.



Nov 19 '05 #8
Well, Martin, you actually have a lot of control over your web.config file
(and other configuration files). You can add custom configuration sections,
use the existing appSettings section, and get quite a lot of mileage out of
it, without getting too complicated. You can also add comments to it.

But for a simple XML file such as you've described, the
System.Xml.XmlDocument class can provide you with most of what you need. You
can create one by simply passing a path to the XML file to its constructor.
And you can iterate through its nodes, and plenty more, with a great deal of
detail.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.

"Martin Eyles" <ma**********@NOSPAM.bytronic.com> wrote in message
news:11*************@corp.supernews.com...
for context, the file only contains the name of an sql server at the
moment.
There may be a couple of added bits later, but probably not more than five
tags. The config file works now, so I'm not bothered about any extra. Just
want to keep it simple. (thanks for all the earlier help, this sorted out
the problems I was having). Still, I take the point that, if I'm doing
something more complex, it might be useful to use another method.

<?xml version="1.0" encoding="utf-8" ?>
<L_______Config>
<ServerName>server</ServerName>
</L_______Config>

(L_______ is just to obscure a product name)

Thanks,
Martin

--
Martin Eyles
ma**********@NOSPAM.bytronic.com

"Kevin Spencer" <ke***@DIESPAMMERSDIEtakempis.com> wrote in message
news:el*************@TK2MSFTNGP12.phx.gbl...
Well, Martin, I would recommend using the .Net Configuration namespace,

and
the web.config file. It may be uncomfortable to you now, but it is very
well-conceived, extensible, and standardized, meaning that other .Net
developers will already know how to use it if necessary.

However, assuming you want to go this route, check out the various
System.Xml namespaces. The .Net platform also has XML support out the

wazoo.
Which namespaces and classes you use depend on how you want to use the

XML.
Do you want a simple XML document, or something more strongly-typed? Do

you
need to work with a DTD? A Schema? Again, the .Net platform and CLR

support
all of the XML specification.

--
HTH,

Kevin Spencer
Microsoft MVP
.Net Developer
Neither a follower nor a lender be.

"Martin Eyles" <ma**********@NOSPAM.bytronic.com> wrote in message
news:11*************@corp.supernews.com...
> web.config has loads of junk data that I don't want in my config file.
> I
> want an easy to write config file that I can write for each of the places > this is installed.
>
> --
> Martin Eyles
> ma**********@NOSPAM.bytronic.com
>
> "Peter Kryszak" <Pe**********@discussions.microsoft.com> wrote in message > news:98**********************************@microsof t.com...
>> Is there some reason that you are not using
>> System.ConfigurationSettings.AppSettings() to get to the web.config file? >>
>> This is a very easy way for ASP.NET code (C# or VB.NET) to get to
>> configuration data.
>>
>> --
>> Peter Kryszak
>> TeleCommunication Systems, Inc.
>>
>
>



Nov 19 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Roberto Castro | last post by:
I have some problems with the way I am showing the BLOB fields in the Image web controls. It does work on my localhost though sometimes I need to hit Refresh for the images to load properly....
6
by: Maurice Walmsley | last post by:
hi, I hope someone can help me with this please I'm trying to move my codebehind files to a folder other than the one my webform sits in. I've tried changing the 'scr' page level attribute of...
12
by: A.M | last post by:
Hi, Using VS.NET 2003, If i use SRC page attribute instead of CodeBehind, do i still have intelisence and generally IDE support for that? Thanks, Ali
4
by: Chris | last post by:
I work on a development server (Server A), and have a staging server (Server B), where updated ASP.Net files from Server A are sent to. I noticed that Server B will reflect changes made to .aspx...
3
by: Dan | last post by:
Hi, I have a problem using an aspx page with a Control on it. I get the following error message Compiler Error Message: CS1595: 'Test.Class2' is defined in multiple places; using definition...
6
by: Thomas Andersson | last post by:
Hi all, I've been thinking of about adding new languages to our website and is currently investigating how this could be done. And I know that one way to go would be to create new aspx-pages...
2
by: Arsalan | last post by:
How do I put different files in different folders in ASP.NET project using VS Studio [without loosing the functionality ? For e.g, i want all .aspx files to be under \page folder and all .vb...
7
by: Matt Jensen | last post by:
Howdy I want to simulate with .Net what I used to do with classic ASP where you would have a series of include files with utility functions that you would include when you needed them. I read...
8
by: vinesh | last post by:
I have sample Asp.Net Web Application project. Let me know how to keep the files related to this project (like the webform.aspx, WebForm1.aspx.vb, WebForm1.aspx.resx) in a separate folder within a...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.