Ich versuche mit XmlDocument ein XML Dokument zu bearbeiten (ein Visual Studio project File).
hier mein Code:
System.Xml.XmlDocument prj=new XmlDocument();
prj.Load(vs21010project);
var appendNode = prj.SelectSingleNode("/Project/PropertyGroup[1]");
Nun ist das problem das appendNode null ist. Aber wenn Ich diesen Ausdruck mit dem XPath Visualizer (http://xpathvisualizer.codeplex.com/) auf mein Project File anwende, dann zeigt der mir genau das als markiert an was Ich will! was mach Ich falsch?
cSharp Projekte : https://github.com/jogibear9988
Hallo,
was mach Ich falsch?
Du beachtest nicht das der Standardnamespace umdefiniert wird in der XML Datei.
Baka wa shinanakya naoranai.
Mein XING Profil.
Danke das war der entscheidende Hinweis.
So gehts:
System.Xml.Linq.XDocument doc;
System.Xml.XmlDocument prj=new XmlDocument();
prj.Load(vs21010project);
XmlNamespaceManager nsmgr = new XmlNamespaceManager(prj.NameTable);
nsmgr.AddNamespace("ms", "http://schemas.microsoft.com/developer/msbuild/2003");
XmlNode appendNode = prj.SelectSingleNode("//ms:PropertyGroup[1]", nsmgr);
cSharp Projekte : https://github.com/jogibear9988
Hey,
ich habe grad ein ähnliches Problem. Allerdings weiß ich nicht was Namespace umschreiben bedeutet oder wie ich das lösen kann.
Kann mir jemand einen Hint geben?
OK, habs jetzt zum laufen bekommen. Aber warum geht das nicht ohne dieses Namespace zeugs. XPath an sich ist doch eindeutig oder?
Hallo,
nein, es geht nicht ohne. XML ohne Namespaces gibt es im Prinzip nicht. Zumindest implizit gibt es immer einen Namespace und wenns der leere ist. Sobald man aber selber einen definiert dann muss man in Anwendungen die zwischen Namespaces unterscheiden müssen (und das muss XPath), immer die Namespaces entsprechend angeben und mitbehandeln.
Baka wa shinanakya naoranai.
Mein XING Profil.