Use XML Path to locate Node and edit its value
<%--
Code Revised from
Professional ASP.NET 2.0 XML (Programmer to Programmer) (Paperback)
by Thiru Thangarathinam
# Publisher: Wrox (January 18, 2006)
# Language: English
# ISBN: 0764596772
--%>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.XPath" %>
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
//Set the ContentType to XML to write XML values
Response.ContentType = "text/xml";
string xmlPath = MapPath("MyBooks.xml");
XmlDocument document = new XmlDocument();
document.Load(xmlPath);
XPathNavigator navigator = document.CreateNavigator();
int count = navigator.Select("/bookstore/book").Count;
//Navigate to the right nodes
navigator.MoveToChild("bookstore", "");
navigator.MoveToChild("book", "");
//Loop through all the book nodes
for(int i = 0; i < count; i++)
{
navigator.MoveToChild("price", "");
double discount = navigator.ValueAsDouble +1;
navigator.CreateAttribute("", "discount", "", discount.ToString());
//Move to the parent book element
navigator.MoveToParent();
//Move to the next sibling book element
navigator.MoveToNext();
}
navigator.MoveToRoot();
Response.Write (navigator.OuterXml);
}
</script>
Related examples in the same category