[解決済み] XPathをXElementやLINQと一緒に使うには?
2023-06-20 10:47:30
質問
次のようなXMLを考えてみましょう。
<response>
<status_code>200</status_code>
<status_txt>OK</status_txt>
<data>
<url>http://bit.ly/b47LVi</url>
<hash>b47LVi</hash>
<global_hash>9EJa3m</global_hash>
<long_url>http://www.tumblr.com/docs/en/api#api_write</long_url>
<new_hash>0</new_hash>
</data>
</response>
の値だけを取得する本当に短い方法を探しています。
<hash>
要素の値だけを取得する本当に短い方法を探しています。私は試してみました。
var hash = xml.Element("hash").Value;
しかし、これではうまくいきません。XPathクエリを
XElement
? 私は、古い
System.Xml
フレームワークで、次のようなことをします。
xml.Node("/response/data/hash").Value
LINQの名前空間にこのようなものがあるのでしょうか?
UPDATEです。
さらにいろいろやっているうちに、私がやろうとしていることを実行する方法を見つけました。
var hash = xml.Descendants("hash").FirstOrDefault().Value;
私はまだ誰かがより良い解決策を持っている場合、見てみたいと思います?
どのように解決するのですか?
LINQ to XMLでXPathを使用するには、XPathを使用するための宣言を追加します。
System.Xml.XPath
の拡張メソッドをもたらします。
System.Xml.XPath.Extensions
の拡張メソッドをスコープに入れます。
あなたの例では
var value = (string)xml.XPathEvaluate("/response/data/hash");
関連
-
[解決済み] enumを列挙するには
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] DataTableに対するLINQクエリ
-
[解決済み] LINQで.Firstと.FirstOrDefaultを使用するタイミングは?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】警告。同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
-
[解決済み] Visual Studioの "ターゲットフレームワーク "が見つからない
-
[解決済み] WPFで角丸ボタンを作成する/作るには?
-
[解決済み] 到達不能なホストに対してソケット操作を行おうとした
-
[解決済み] AssemblyInfo.csは何に使うのですか?
-
[解決済み] DockPanelを空きスペースいっぱいに表示させる方法
-
[解決済み] ファイルまたはアセンブリをロードできませんでした 操作がサポートされていません。(HRESULT: 0x80131515 からの例外)
-
[解決済み] DelphiとDelphi.NETの違いについて
-
[解決済み] WCFのデバッグ時にサーバーに自動的に踏み込むことができない
-
[解決済み] .NETでのdecimal, float, doubleの違い?