Its a .vbproj và trông như thế nàyXPath chọn nút với namespace
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>15a7ee82-9020-4fda-a7fb-85a61664692d</ProjectGuid>
tất cả tôi muốn nhận được các ProjectGuid nhưng nó không hoạt động khi một namespace là có ...
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")
Tôi có thể làm gì để sửa lỗi này?
Hai vấn đề với giải pháp annakata của: 1. Nó là xấu xí, 2. Trong trường hợp này nó có thể được sử dụng nhưng sẽ cung cấp kết quả sai nếu yếu tố một 'ProjectGuid' thuộc về nhiều hơn một không gian tên và chúng tôi chỉ muốn các phần tử từ một không gian tên duy nhất. Các giải pháp sử dụng NamespaceManager là tốt hơn –
Công cụ XPath phải được cung cấp đúng ngữ cảnh có chứa các ràng buộc giữa các tiền tố và NS URI để sử dụng khi đánh giá các biểu thức hoặc bạn sẽ không thể tham chiếu nội dung bên trong không gian tên. Đây là những gì @Teun làm. – lkuty