PDA

View Full Version : تغيير يک node فايل sitemap به کمک XPathNavigator



darioush01
سه شنبه 09 مهر 1387, 01:29 صبح
سلام
من می خوام يه node فايل sitemap رو ويرايش کنم , فايل من به صورت زير :

<?xml version="1.0" encoding="utf-8"?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
<siteMapNode url="a.aspx" title="­ه¥ى ں­é" description="0" xmlns="">
<siteMapNode url="1.aspx" title="x1" description="1" xmlns="" />
<siteMapNode url="2.aspx" title="x2" description="2" xmlns="" />
<siteMapNode url="x3.aspx" title="x3" description="««" xmlns="" />
<siteMapNode url="x4.aspx" title="x4" description="ï" xmlns="" />
<siteMapNode url="x5.aspx" title="x5" description="£" xmlns="" />
<siteMapNode url="م.aspx" title="م" description="م" xmlns="" />
<siteMapNode url="¢.aspx" title="x6" description="¢" xmlns="" />
</siteMapNode>
</siteMap>


و کد زير رو واسه تغيير يکی از attribute های node مورد نطرم نوشتم . فکر کنم مشکل تو XPath Expresion باشه اما من نمی دونم چطور بايد اصلاحش کنم , هر چی به ذهنم می رسيد امتحان کردم اما فايده نداشت .


XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(AppDomain.CurrentDomain.BaseDirec tory + "Web.sitemap");
XPathNavigator xPathNavigator = xmlDocument.CreateNavigator();
XmlNamespaceManager xmlNameSpaceManager = new XmlNamespaceManager(xPathNavigator.NameTable);
xmlNameSpaceManager.AddNamespace("siteMap", "http://schemas.microsoft.com/AspNet/SiteMap-File-1.0");
foreach(XPathNavigator navigator in xPathNavigator.Select("siteMap:siteMapNode",xmlNameSpaceManager))
{
if(navigator.Value == "x1"())
{
navigator.SetValue(tb_newTitle.Text);
}
}
xmlDocument.Save(AppDomain.CurrentDomain.BaseDirec tory + "Web.sitemap");



لطفا کمک کنين .

darioush01
سه شنبه 09 مهر 1387, 12:04 عصر
کسی نيست کمکم کنه ؟ :افسرده: