この質問は、この質問の論理的な続きです。ここXElement
で、デフォルト以外の名前空間に要素が含まれているとします。
<Body xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<ReportItems />
<Height />
<rd:Style />
</Body>
前の質問の回答で提案されているのと同じアプローチ、つまり属性の削除に従おうとしていxmlns
ますが、このように xmlns + プレフィックスの場合は機能しませんxmlns:xx
。
TL;DR バージョン
これは機能します:
Dim xml = <Body xmlns="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"/>
xml.Attribute("xmlns").Remove()
これはしません:
Dim xml = <Body xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"/>
xml.Attribute("xmlns:rd").Remove()
このエラーの取得:
XmlException was unhandled
The ':' character, hexadecimal value 0x3A, cannot be included in a name.
xmlns:xx
から属性を削除するにはどうすればよいXElement
ですか?