Использование XPath и VB.NET для анализа XML, содержащего пространства имен
Есть несколько смежных вопросов, но ни один из них не дает нужных мне рекомендаций.
Предполагая следующий XML:
This is the title
lorem ipsum
This is the second title
lorem ipsum 2
Если бы в этом документе не было пространств имен, я мог бы написать такой код:
Public Sub ShowXML(XmlText As String)
Dim doc As New XmlDocument
doc.LoadXml(XmlText)
For Each Entry As XmlNode In doc.SelectNodes("//entry")
Console.WriteLine(Entry.SelectSingleNode("title").InnerText)
Next
End Sub
Из-за пространств имен это невозможно. Это моя последняя попытка:
Public Sub ShowXML(XmlText As String)
Dim doc As New XmlDocument
doc.LoadXml(XmlText)
Dim nsmgr As New XmlNamespaceManager(doc.NameTable)
nsmgr.AddNamespace("rss", "http://www.w3.org/2005/Atom")
For Each Entry As XmlNode In doc.SelectNodes("//rss:entry")
Console.WriteLine(Entry.SelectSingleNode("/rss:title").InnerText)
Next
End Sub
Какой правильный синтаксис XPath, чтобы получить "заглавие"?
Причины, по которым это отдельный вопрос по другим темам:
Большинство других примеров - C #, и я ищу решение VB.NET.Другие примеры не касаются сценария перехода к узлу из ранее выбранного узла.Я не ищу решение, которое лишает пространства имен; Я хочу понять их. Спасибо.