Use XML Path to locate Node and edit its value : XPath « XML « ASP.Net






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

1.Use XPath to read XML document
2.XPathNavigator Selection Example
3.Use XPathNavigator to create attribute
4.Finding a Particular Node in an XML Document?
5.Finding a Particular Node in an XML Document (VB)
6.Using the XPathNavigator for Navigating Xml Documents