hej jag håller xpathnavigator och xpathdocument, när jag kör mitt program får jag file not found exception, lite konstigt, för att jag har porvat och lagt filen i samma katalog som projectet och i en annan katalog men funkar inte ändå, den kan inte hitta cdcatalog.xml om du ska gå igenom hela trädet, och inte använder xpath, så varför använder du dej då av xpathnavigator och inte DOM ? (XmlDocument)file not found exception xpathnavigator
här är min kod.
using System;
using System.Xml.XPath;
namespace XPathSample
{
class XPathSample
{
[STAThread]
static void Main(string[] args)
{
XPathDocument xpathDocument = new XPathDocument("cdcatalog.xml");
XPathNavigator xpathNavigator = xpathDocument.CreateNavigator();
xpathNavigator.MoveToRoot();
NavigateTree(xpathNavigator, 0);
}
private static void NavigateTree(XPathNavigator xpathNavigator, int depth)
{
if(xpathNavigator.HasChildren)
{
xpathNavigator.MoveToFirstChild();
DisplayNode(xpathNavigator, depth);
depth++;
NavigateTree(xpathNavigator, depth);
depth--;
while(xpathNavigator.MoveToNext())
{
DisplayNode(xpathNavigator, depth);
depth++;
NavigateTree(xpathNavigator, depth);
depth--;
}
xpathNavigator.MoveToParent();
}
}
private static void DisplayNode(XPathNavigator xpathNavigator, int depth)
{
string prefix = new string(' ', depth * 3);
if(xpathNavigator.NodeType == XPathNodeType.Text)
{
Console.Out.WriteLine(prefix + "Node: " + xpathNavigator.Value + ".");
}
else
{
Console.Out.WriteLine(prefix + "Node: <" + xpathNavigator.Name + ">.");
if(xpathNavigator.HasAttributes)
{
int attributesCount = 1;
while(xpathNavigator.MoveToNextAttribute())
{
attributesCount++;
}
Console.Out.Write("Count of attributes: " + attributesCount + ".");
if(attributesCount != 1)
{
xpathNavigator.MoveToParent();
}
}
Console.Out.WriteLine();
}
}
}
}Sv: file not found exception xpathnavigator