我有几个公开相同架构的xml命名空间。
我想使用一个动态接受命名空间的函数,并根据指定的命名空间应用属性或属性:
Public Sub ProcessElement(element As XElement, [namespace] As XNamespace)
element.<[namespace]:Property>.Remove()
End Sub
我实际上想要使用此函数将名称空间结果设置为给定的参数。
查看this文章,他的确完全符合我的要求,但我确信在VB.NET XML Literals中有一种比以硬编码方式更好的方式。
我知道我可以这样做:
element.Elements([namespace] + "Property").Remove()
但我想知道是否有办法在VB.NET中包含令人惊讶的.<>
,.@
,...<>
语言快捷方式的命名空间。
答案 0 :(得分:1)
我实际上找到了一个更好的解决方案,从元素本身检索动态命名空间:
Public Sub ProcessElement(element As XElement)
Dim [namespace] = element.GetDefaultNamespace()
element.<[namespace]:Property>.Remove()
End Sub
XElement中还有一些其他的命名空间操作方法,所以更容易使它真正动态化,甚至不需要知道命名空间是什么。