它是一种.vbproj和XPath选择节点看起来像这样命名空间
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>15a7ee82-9020-4fda-a7fb-85a61664692d</ProjectGuid>
所有我想要得到的是ProjectGuid但它不工作时,一个命名空间是存在的......
Dim xmlDoc As New XmlDocument()
Dim filePath As String = Path.Combine(mDirectory, name + "\" + name + ".vbproj")
xmlDoc.Load(filePath)
Dim value As Object = xmlDoc.SelectNodes("/Project/PropertyGroup/ProjectGuid")
我能做些什么来解决这个问题?
两个问题:
,并使用它1.它是丑陋的,在这种情况下,它可以使用,但如果是“ProjectGuid”元素将提供错误的结果属于多个命名空间,我们只需要来自单个命名空间的元素。使用NamespaceManager的解决方案更好 – 2009-02-11 14:36:58
必须为XPath引擎提供正确的静态上下文,该静态上下文包含前缀和NS URI之间的绑定,以便在计算表达式时使用,否则将无法引用名称空间内的内容。这就是@Teun所做的。 – lkuty 2013-10-17 15:35:51