2010-09-01 61 views
2

我有幾個暴露相同模式的XML命名空間。如何動態設置本地XML命名空間?

我想用動態接受命名空間和應用的屬性或屬性根據指定的命名空間的功能:

Public Sub ProcessElement(element As XElement, [namespace] As XNamespace) 
    element.<[namespace]:Property>.Remove() 
End Sub 

其實我是想設定的命名空間resultion withing這個功能給定的參數。

this文章,他究竟是什麼,我想,但我相信,在VB.NET XML文本有比做得硬編碼的方式好得多的辦法。

我知道我可以簡單的做這樣的:

element.Elements([namespace] + "Property").Remove() 

但我不知道是否有一種方法可以包括在VB.NET命名空間驚人.<>[email protected]...<>語言快捷鍵。

回答

1

我居然發現從元件本身被檢索具有動態命名空間更好的解決方案:

Public Sub ProcessElement(element As XElement) 
    Dim [namespace] = element.GetDefaultNamespace() 
    element.<[namespace]:Property>.Remove() 
End Sub 

也有一些其他的命名空間操縱在的XElement方法,所以它更容易使之真正動態,甚至不需要知道名稱空間是什麼。