Small XML/C# problem...
-
uh... i want change the following code... XmlTextWriter writer = new XmlTextWriter("C:/inetpub/wwwroot/weblog/entries/"+ fileName, null); you see.... the bolded path... that's static... you can't change it, unless you edit the code in vs.net... Now, I want it to get the path from an xml file, I already made(options.xml)... it looks like this...
<path>_path goes here_</path>
do you think you can help? /\ |_ E X E GG//load the doc
//where url is the options.xml url
private System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
xml.Load("url");//get the xml path
//where root is the root element
System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path");//open the file to write it
XmlTextWriter writer = new XmlTextWriter(xmlnode.InnerText + fileName, null);"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi -
//load the doc
//where url is the options.xml url
private System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
xml.Load("url");//get the xml path
//where root is the root element
System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path");//open the file to write it
XmlTextWriter writer = new XmlTextWriter(xmlnode.InnerText + fileName, null);"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma GandhiIs this right?
//load the doc //where url is the options.xml url System.Xml.XmlDocument xml = new System.Xml.XmlDocument(); xml.Load("C:/Documents and Settings/Alex Egg/Desktop/Visual Studio Projects/RecordTimesheets/bin/Debug/options.xml"); //get the xml path //where root is the root element System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path"); //open the file to write it string fileName = DateTime.Now.ToString("yyyyMMdd_hhmm") + ".xml"; XmlTextWriter writer = new XmlTextWriter(xmlnode.InnerText + fileName, null);
isim not sure what this is about("descendant::root/path");
/\ |_ E X E GG -
//load the doc
//where url is the options.xml url
private System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
xml.Load("url");//get the xml path
//where root is the root element
System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path");//open the file to write it
XmlTextWriter writer = new XmlTextWriter(xmlnode.InnerText + fileName, null);"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi -
Is this right?
//load the doc //where url is the options.xml url System.Xml.XmlDocument xml = new System.Xml.XmlDocument(); xml.Load("C:/Documents and Settings/Alex Egg/Desktop/Visual Studio Projects/RecordTimesheets/bin/Debug/options.xml"); //get the xml path //where root is the root element System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path"); //open the file to write it string fileName = DateTime.Now.ToString("yyyyMMdd_hhmm") + ".xml"; XmlTextWriter writer = new XmlTextWriter(xmlnode.InnerText + fileName, null);
isim not sure what this is about("descendant::root/path");
/\ |_ E X E GGeggie5 wrote: xml.Load("C:/Documents and Settings/Alex Egg/Desktop/Visual Studio Projects/RecordTimesheets/bin/Debug/options.xml"); But then you are hard-coding this path. Maybe you can keep the XML file in the assembly path. eggie5 wrote: I don't get this part.... //get the xml path //where root is the root element System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path"); here you are getting a node named "path" which is a child of the node named "root". The "descendant::" means you're starting from the top, and the path after "descendant::" specifies the path of the node you want to get.
***************[XML file section]*********************
<root>
<path>c:\somefolder\…</path> //<---we're getting this node
</root>
***************[/XML file section]*********************"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi -
eggie5 wrote: xml.Load("C:/Documents and Settings/Alex Egg/Desktop/Visual Studio Projects/RecordTimesheets/bin/Debug/options.xml"); But then you are hard-coding this path. Maybe you can keep the XML file in the assembly path. eggie5 wrote: I don't get this part.... //get the xml path //where root is the root element System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path"); here you are getting a node named "path" which is a child of the node named "root". The "descendant::" means you're starting from the top, and the path after "descendant::" specifies the path of the node you want to get.
***************[XML file section]*********************
<root>
<path>c:\somefolder\…</path> //<---we're getting this node
</root>
***************[/XML file section]*********************"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma GandhiFor this.... xml.Load("C:/Documents and Settings/Alex Egg/Desktop/Visual Studio Projects/RecordTimesheets/bin/Debug/options.xml"); ...is what your saying, is that I should go like this... xml.Load("C:/Documents and Settings/Alex Egg/Desktop/Visual Studio Projects/RecordTimesheets/bin/Debug/"); Also, im confused about this still...
//get the xml path //where root is the root element System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path");
... im confused as if im sopposed to fill something in here? Or do I just leave it as it is... my xml file looks like this....<?xml version="1.0"?> <Options> <entryFile>C:\inetpub\wwwroot\weblog\entrys\</entryFile> </Options>
uh... please feel free to fill in the info for me;P /\ |_ E X E GG -
For this.... xml.Load("C:/Documents and Settings/Alex Egg/Desktop/Visual Studio Projects/RecordTimesheets/bin/Debug/options.xml"); ...is what your saying, is that I should go like this... xml.Load("C:/Documents and Settings/Alex Egg/Desktop/Visual Studio Projects/RecordTimesheets/bin/Debug/"); Also, im confused about this still...
//get the xml path //where root is the root element System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path");
... im confused as if im sopposed to fill something in here? Or do I just leave it as it is... my xml file looks like this....<?xml version="1.0"?> <Options> <entryFile>C:\inetpub\wwwroot\weblog\entrys\</entryFile> </Options>
uh... please feel free to fill in the info for me;P /\ |_ E X E GG//get the xml path
//where root is the root element
System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::Options/entryFile");eggie5 wrote: ...is what your saying, is that I should go like this... I mean this:
xml.Load(Assembly.Location + @"\options.xml");
I'm off to bed - it's 'way late.
"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi -
uh... i want change the following code... XmlTextWriter writer = new XmlTextWriter("C:/inetpub/wwwroot/weblog/entries/"+ fileName, null); you see.... the bolded path... that's static... you can't change it, unless you edit the code in vs.net... Now, I want it to get the path from an xml file, I already made(options.xml)... it looks like this...
<path>_path goes here_</path>
do you think you can help? /\ |_ E X E GGeggie5 wrote: you can't change it, unless you edit the code in vs.net... Now, I want it to get the path from an xml file, I already made(options.xml)... it looks like this... path goes here do you think you can help? Use App.config or web.config. That is what they are there for. If you users can edit an options.xml file then they are capable of editing a web.config file. Put an appkey into your .config file and then in your code use the AppSettings class to retrieve the value. You do not need to use the XmlTextReader or anything else as the AppSettings class encapsulates that for you already. Very handy. Don't re-invent the wheel with your own options.xml file, use what .NET provides :)
Paul Watson
Bluegrass
Cape Town, South Africabrianwelsch wrote: I find my day goes by more smoothly if I never question other peoples fantasies. My own disturb me enough.
-
eggie5 wrote: you can't change it, unless you edit the code in vs.net... Now, I want it to get the path from an xml file, I already made(options.xml)... it looks like this... path goes here do you think you can help? Use App.config or web.config. That is what they are there for. If you users can edit an options.xml file then they are capable of editing a web.config file. Put an appkey into your .config file and then in your code use the AppSettings class to retrieve the value. You do not need to use the XmlTextReader or anything else as the AppSettings class encapsulates that for you already. Very handy. Don't re-invent the wheel with your own options.xml file, use what .NET provides :)
Paul Watson
Bluegrass
Cape Town, South Africabrianwelsch wrote: I find my day goes by more smoothly if I never question other peoples fantasies. My own disturb me enough.
-
Are you the guy who lost you windows XP CD? I saw your post somewhere, where someone told you where to download the ISO from MSDN... where is it? /\ |_ E X E GG
eggie5 wrote: Are you the guy who lost you windows XP CD? I saw your post somewhere, where someone told you where to download the ISO from MSDN... where is it? I sure am that guy :-D You know that horrible tree-nav on the left? You have to wait until it is fully loaded, you can tell it is fully loaded when it closes up and not everything is expanded. I generally leave the MSDN Subscribers Download page open in the background for about 10 minutes before I try and find what I want in that tree-nav. It is there, under Platforms.
Paul Watson
Bluegrass
Cape Town, South Africabrianwelsch wrote: I find my day goes by more smoothly if I never question other peoples fantasies. My own disturb me enough.
-
eggie5 wrote: xml.Load("C:/Documents and Settings/Alex Egg/Desktop/Visual Studio Projects/RecordTimesheets/bin/Debug/options.xml"); But then you are hard-coding this path. Maybe you can keep the XML file in the assembly path. eggie5 wrote: I don't get this part.... //get the xml path //where root is the root element System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path"); here you are getting a node named "path" which is a child of the node named "root". The "descendant::" means you're starting from the top, and the path after "descendant::" specifies the path of the node you want to get.
***************[XML file section]*********************
<root>
<path>c:\somefolder\…</path> //<---we're getting this node
</root>
***************[/XML file section]*********************"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhiyou don't need
System.Xml.XmlNode xmlnode = xml.SelectSingleNode("descendant::root/path");
use:System.Xml.XmlNode xmlnode = xml.SelectSingleNode("/options");
"When the only tool you have is a hammer, a sore thumb you will have."