Fråga : Xpath query med namespace

Hi experter,

Let oss antar att XMLEN på början av kodifiera laddas i C# i XmlDocument d.

I önskar att välja value<-/c>knutpunkten using d.SelectNodes (). Jag har försökt appellerna i kodifiera, men inga av dem lyckades. Vad bör vara rätten kodifierar för att få den bedda knutpunkten?
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
" codeBody " " notpretty class= " för xml value // kodifierar 1 d.SelectNodes (”/root/a/b/c”); // kodifierar 2 XmlNamespaceManager xnsmgr = nya XmlNamespaceManager (D); xnsmgr.AddNamespace (String.Empty, ”namespace”); d.SelectNodes (”/root/a/b/c”, xnsmgr); // xnsmgr är XmlNamespaceManager // kodifierar 3 XmlNamespaceManager xnsmgr = nya XmlNamespaceManager (D); xnsmgr.AddNamespace (”a”, ”namespace”); // prefixet måste inte vara tom enligt MSDN xnsmgr.AddNamespace (”a”, ""); d.SelectNodes (”/root/a/b/c”, xnsmgr); // xnsmgr är XmlNamespaceManager
" klar "

Svar : Xpath query med namespace

Du går att måste att använda ett namespace-prefix, därför att du har två olika namespaces i ditt dokument:

1:
2:
3:
4:
XmlNamespaceManager xnsmgr = nya XmlNamespaceManager (D);
xnsmgr.AddNamespace (”x”, ”namespace”);

d.SelectNodes (”/root/a/x: b/x: c”, xnsmgr);
Andra lösningar  
 
programming4us programming4us