2016-08-16 96 views
1

我想解析一個XML文件(使用VB.Net)並獲取根元素的默認名稱空間,以添加到將應用於不同XML對象的XMLNamespaceManager。如何在解析XML文檔時獲取默認名稱空間?

我嘗試了幾種方法,但都沒有工作。下面的代碼片段是我最近一次嘗試:

Dim rdlXml As System.Xml.XmlDocument = New System.Xml.XmlDocument() 
rdlXml.Load(reportDir & "/" & report & ".rdl") 

Dim root As XmlNode = rdlXml.DocumentElement 

Dim nsMgr as System.Xml.XmlNamespaceManager = new System.Xml.XmlNamespaceManager(rdlXml.NameTable) 
nsMgr.AddNamespace(String.Empty,root.GetNamespaceOfPrefix(String.Empty)) 

似乎這段代碼並沒有命名空間成功添加到nsMgr。

我在這裏錯過了什麼?

編輯:我使用.NET 2.0

+0

根沒有命名空間前綴。命名空間通常在根節點中定義,因此您必須獲取根的名稱空間,而不是根的前綴。 – jdweng

回答

0

用途:nsMgr.AddNamespace(String.Empty, root.NamespaceURI)

+0

嗨FloatingKiwi;你的代碼答案可能有用,但在某些情況下會更好;例如,您可以解釋如何以及爲什麼這些建議的更改可以解決提問者的問題。這將使它對他們更有用,而且對尋求類似問題解決方案的其他網站讀者也更有用。 –

相關問題