webForumDet fria alternativet

SelectSingleNode

.NETur .NET

3 svar · 245 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Frågan#1

Tjenare.
Vad är fel med denna

[red]
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath("/")+"sitemap.xml");

XmlNode Node = doc.SelectSingleNode("/urlset");
Node.InsertAfter(newUrl, Node.FirstChild);
[/red]

sitemap.xml är en fil som har samma struktur som http://www.google.com/sitemap.xml

Felet som blir är att doc.SelectSingleNode("/urlset"); inte resulterar i någon XmlNode, men varför....

mv icaaq

Medlem sedan apr. 20012 266 inlägg
#2

Testa följande:

doc.DocumentElement.SelectNodes("url");

DocumentElement är då urlset och sedan väljs de olika url ut från urlset.

Medlem sedan okt. 20005 273 inlägg
#3

Testade att göra så här

[red]
						XmlNodeList Node = doc.DocumentElement.SelectNodes("url");
						Node[0].InsertAfter(newUrl, Node[0].FirstChild);
[/red]

men samma fel fortfarande...... :(

mv icaaq

Medlem sedan okt. 20005 273 inlägg
#4

Löste det genom att ange NameSpacet så här:

[red]
doc = new XmlDocument();
doc.Load(path);
xmlns = new XmlNamespaceManager(doc.NameTable);
xmlns.AddNamespace("x", "http://www.google.com/schemas/sitemap/0.84");
XmlNodeList url = doc.SelectNodes("//x:url[x:loc='"+nodeValue+"']", xmlns);
[/red]

mv icaaq

135 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)