Mega Code Archive

 
Categories / ASP.Net / XML
 

Use XPathNavigator to create attribute

<%-- 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>