SiteMap.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.scmmjy.com</loc>
<lastmod>2009-11-24</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
</urlset>
aspx.cs生成代码如下:
XmlDocument xml = new XmlDocument();
String mapFileUrl = Server.MapPath("~/SiteMap.xml");
xml.Load(mapFileUrl);
//XmlNode RootNode = xml.DocumentElement;
XmlNode RootNode = xml.SelectSingleNode(String.Format("urlset[@xmlns=\"{0}\"]", "http://www.sitemaps.org/schemas/sitemap/0.9"));
if (RootNode != null)
{
XmlElement xe = xml.CreateElement("url");
XmlElement xe_loc = xml.CreateElement("loc");
xe_loc.InnerText = "http://www.scmmjy.com";
xe.AppendChild(xe_loc);
XmlElement xe_lastmod = xml.CreateElement("lastmod");
xe_lastmod.InnerText = "2009-11-25";
xe.AppendChild(xe_lastmod);
XmlElement xe_changefreq = xml.CreateElement("changefreq");
xe_changefreq.InnerText = "always";
xe.AppendChild(xe_changefreq);
XmlElement xe_priority = xml.CreateElement("priority");
xe_priority.InnerText = "0.6";
xe.AppendChild(xe_priority);
RootNode.InsertAfter(xe, RootNode.LastChild);
xml.Save(mapFileUrl);
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('The RootNode is Null');</script>");
}
为什么在遍历节点的时候遍历不到啊,RootNode总是为空的;我把
XmlNode RootNode = xml.DocumentElement;
//XmlNode RootNode = xml.SelectSingleNode(String.Format("urlset[@xmlns=\"{0}\"]", "http://www.sitemaps.org/schemas/sitemap/0.9"));
互换一下就可以添加了,但是每次添加进去的的<url>节点都有一个空的属性(xmlns=""),如下面 的sitemap.xml(添加后的)代码:
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.scmmjy.com</loc>
<lastmod>2009-11-24</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
<url xmlns="">
<loc>http://www.scmmjy.com/</loc>
<lastmod>2009-11-25</lastmod>
<changefreq>always</changefreq>
<priority>0.6</priority>
</url>
</urlset>
我弄了半天终于 知道是<urlset>根节点里面有属性的问题了,去掉属性后,就可以正常添加了;但是加上属性就出问题,请教高手们,在<urlset>根节点有属性的时候怎么向里面的添加<url>子节点???小弟在此谢过了!!!
是 不 是 xpath不一樣
加XmlNamespaceManager