質問

私は、同じスキーマを公開するいくつかのXML名前空間を持っています。

私は、動的に名前空間を受け取り、指定された名前空間に応じた属性やプロパティを適用する機能を使用したいです

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

私は実際に与えられた引数には、この機能をwithing名前空間resultionを設定したい。

このの記事、を、彼はない、まさに私の

ルックをしたいが、私は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