它是一種.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