TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
matthew king
NA
52
0
updating xml data
Mar 20 2010 1:22 PM
Sir/Ma'am,
I'm trying to modify existing XML data. For example, I have an xml file in the following format:
<?xml version="1.0" encoding="utf-8" ?>
<cars>
<car>
<vin>1255588</vin>
<color>red</color>
<engine>I4</engine>
<type>sedan</type>
<price>11000</price>
</car>
<car>
<vin>388854</vin>
<color>blue</color>
<engine>V6</engine>
<type>coupe</type>
<price>09999</price>
</car>
<car>
<vin>214569</vin>
<color>green</color>
<engine>V8</engine>
<type>truck, full</type>
<price>05000</price>
</car>
</cars>
I also have a form with 1 combobox (e.g vin.text) and 4 text boxes (e.g. color.text, engine.text, type.text, and price.text), which corresponds to the xml nodes. I'm attempting to write a method that will update the xml data, if it corresponds to the vin number. So, if I want to change the price on vin 1255588 from 11000 to 09999, how could I accomplish that?
heres my code:
private void button1_Click(object sender, EventArgs e)
{
try
{
XmlTextReader reader = new XmlTextReader(@"C:\test.xml");
XmlDocument doc = new XmlDocument();
doc.Load(reader);
reader.Close();
//Select the vin node
XmlNode oldvin;
XmlElement root = doc.DocumentElement;
oldvin = root.SelectSingleNode("/cars/car/[vin='" + vin.Text + "']");
XmlElement newCd = doc.CreateElement("car");
newCd.SetAttribute("vin", vin.Text);
newCd.InnerXml = "<vin>" + vin.Text + "</vin>" +
"<color>" + color.Text + "</color>" +
"<engine>" + engine.Text + "</engine>" +
"<type>" + type.Text + "</type>" +
"<price>" + price.Text + "</price>";
root.ReplaceChild(newCd, oldvin);
//save the output back to the xml file
doc.Save(@"C:\test.xml");
this.DialogResult = DialogResult.OK;
}
catch (Exception ex)
{
Console.WriteLine ("Exception: {0}", ex.ToString());
this.DialogResult = DialogResult.Cancel;
}
}
}
}
Reply
Answers (
1
)
display message when only one checkbox check from 2 in datagridview
How do I: Part 2: Pass a DataTable from a Class to the Main.