我有几个XML命名空间暴露相同的架构。

我想使用一个函数,动态地接受一个命名空间和适用的属性或属性根据指定的名称空间:

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

事实上,我想要设置的名称空间resultion withing此函数来给定的参数。

这个文章,请他究竟是什么,我想,但我相信,在VB.NET XML文本有一个更加美好的方式比做得硬编码的方式。

我知道我可以简单的做这样的:

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

但我不知道是否有一种方法可以包括在VB.NET惊人.<>.@...<>语言的快捷方式命名空间。

有帮助吗?

解决方案

我发现实际上从元件本身被检索具有所述动态命名空间一个更好的解决方案:

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

也有在的XElement一些其他的命名空间,操作方法,所以它更容易让真正的动态,甚至没有必要知道的命名空间是什么。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top