2

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

我想使用一个动态接受命名空间并根据指定命名空间应用属性或属性的函数:

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

我实际上想将此函数的命名空间结果设置为给定的参数。

看看这篇文章,他做的正是我想要的,但我确信在 VB.NET XML Literals 中有一种比硬编码方式更好的方法。

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

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

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

4

1 回答 1

1

我实际上找到了一个更好的解决方案,从元素本身检索动态命名空间:

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

XElement 中还有一些其他命名空间操作方法,因此更容易使其真正动态化,甚至不需要知道命名空间是什么。

于 2010-09-01T01:58:11.497 回答