Hello again. Today i will talk about how to purse XML simply with .NET’s XPath features.We know XML now days gets very important thing for transferring or what ever. I will show how simply we can Purse a XML file.
Suppose we have a XML file named “Sample.xml” and the structure of that XML file is as bellow:
1 2 3 |
<span class="lnum"> 1: </span><span class="kwrd"><?</span><span class="html">xml</span> <span class="attr">version</span><span class="kwrd">="1.0"</span> <span class="attr">encoding</span><span class="kwrd">="utf-8"</span> ?<span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 2: </span><span class="kwrd"><</span><span class="html">items</span><span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 3: </span> <span class="kwrd"><</span><span class="html">item</span><span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 4: </span> <span class="kwrd"><</span><span class="html">name</span><span class="kwrd">></span>Tanvir<span class="kwrd"></</span><span class="html">name</span><span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 5: </span> <span class="kwrd"><</span><span class="html">id</span><span class="kwrd">></span>03-04304-3<span class="kwrd"></</span><span class="html">id</span><span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 6: </span> <span class="kwrd"></</span><span class="html">item</span><span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 7: </span> <span class="kwrd"><</span><span class="html">item</span><span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 8: </span> <span class="kwrd"><</span><span class="html">name</span><span class="kwrd">></span>Anowar<span class="kwrd"></</span><span class="html">name</span><span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 9: </span> <span class="kwrd"><</span><span class="html">id</span><span class="kwrd">></span>04-04304-2<span class="kwrd"></</span><span class="html">id</span><span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 10: </span> <span class="kwrd"></</span><span class="html">item</span><span class="kwrd">></span> |
1 2 3 |
<span class="lnum"> 11: </span><span class="kwrd"></</span><span class="html">items</span><span class="kwrd">></span> |
1 2 3 |
<span style="color: blue"></span>now open a Default.aspx page and import the sub class Xml,and Xml.XPath by writing as bellow: |
1 2 3 |
<span class="lnum"> 1: </span><span class="kwrd">using</span> System.Xml; |
1 2 3 |
<span class="lnum"> 2: </span><span class="kwrd">using</span> System.Xml.XPath; |
1 2 3 |
Now making a XPathDocument document we can iterate our queries as given in nav.Select("/items/item/name") . here /items/item/name is our query ,where Items is the root node . item is the child node and name is our desired node which is going to be explored.<br />The following code is in C#.NET for exploring XML node with XPath. |
1 2 3 |
XPathDocument xmlDoc = <span class="kwrd">new</span> XPathDocument(MapPath(<span class="str">"Sample.xml"</span>)); |
1 2 3 |
XPathNavigator nav = xmlDoc.CreateNavigator(); |
1 2 3 |
XPathNodeIterator iterate = nav.Select(<span class="str">"/items/item/name"</span>); |
1 2 3 |
<span class="kwrd">while</span>(iterate.MoveNext()) |
1 2 3 |
{ |
1 2 3 |
Response.Write(iterate.Current.Name); <span class="rem">// print the node name</span> |
1 2 3 |
Response.Write(<span class="str">"&nbsp"</span>); |
1 2 3 |
Response.Write(iterate.Current.Value); <span class="rem">// print the value</span> |
1 2 3 |
Response.Write(<span class="str">"<br />"</span>); |
1 2 3 |
} |