[解決済み] LINQ to XMLで名前空間を無視する
2023-03-16 23:13:37
質問
LINQ to XML にすべての名前空間を無視させるにはどうしたらよいですか?あるいは、どのように名前空間を取り除くのでしょうか?
名前空間が半不規則な方法で設定され、名前空間を持つノードと持たないノードの両方を検索しなければならないことにうんざりしているので、私は質問しているのです。
どのように解決するのですか?
書くのではなく
nodes.Elements("Foo")
を書きます。
nodes.Elements().Where(e => e.Name.LocalName == "Foo")
で、飽きたら自分で拡張メソッドを作ればいい。
public static IEnumerable<XElement> ElementsAnyNS<T>(this IEnumerable<T> source, string localName)
where T : XContainer
{
return source.Elements().Where(e => e.Name.LocalName == localName);
}
名前空間付き属性を頻繁に扱う必要がある場合(これは比較的まれです)、属性についても同様です。
[EDIT] XPathの解決策を追加しました。
XPathの場合、書く代わりに
/foo/bar | /foo/ns:bar | /ns:foo/bar | /ns:foo/ns:bar
を使うことができます。
local-name()
という関数があります。
/*[local-name() = 'foo']/*[local-name() = 'bar']
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] LINQのGroup by
-
[解決済み] XMLの<![CDATA[]]>は何を意味するのですか?
-
[解決済み] DataTableに対するLINQクエリ
-
[解決済み] LINQで.Firstと.FirstOrDefaultを使用するタイミングは?
-
[解決済み] LINQ集計アルゴリズム説明
-
[解決済み] XPathで名前空間を無視する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ServicePointManagerは、*スキームのプロキシをサポートしていません[closed]。
-
[解決済み] ネットワークの位置からアセンブリをロードすることはできません
-
[解決済み] WinSCP 応答待ちタイムアウト
-
[解決済み] 'Newtonsoft.Json' には 'Microsoft.CSharp' の依存関係がすでに定義されています。
-
[解決済み] 文字列から数字を抽出する正規表現
-
[解決済み] app.configが作成されるタイミングとapp.exe.configが作成されるタイミング、その違いとは?
-
[解決済み] AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersionの違いは何ですか?
-
[解決済み] System.Timers.Timer vs System.Threading.Timer
-
[解決済み] Visual Studioの「Any CPU」ターゲットはどういう意味ですか?
-
[解決済み] HashSetとListの性能比較