// <sdl:seg id="1" conf="Translated">
// <sdl:previous origin="source">
// <sdl:value key="created">Quick</sdl:value>
// <sdl:value key="modified">Brown</sdl:value></sdl:previous>
// <sdl:value key="created">Fox</sdl:value>
// <sdl:value key="modified">Jumps</sdl:value></sdl:seg>
foreach (XElement x in myDoc.Descendants(ns + "seg"))
foreach (XElement y in myDoc.Descendants(ns + "value"))
foreach (var z in y.Attributes())
if (z.Value == "modified")
MessageBox.Show(y.Value);
「ブラウン」と「ジャンプ」がありました。XDocumentからのXElementの解析は、以下の3回繰り返されます。
「ジャンプ」のみが必要です。 (孫以外の子のみを意味します)
お願いします。
現時点では、私はLINQではなく "foreach"ループのみを研究しています(私はそれが良いことを知っています)。
よろしくお願いいたします。
[編集]これはどうですか。それは何も発しない。..
foreach (var x in d.Descendants("seg").Elements("value").Attributes().Some("modified")
MessageBox.Show(x.Value);
[編集2]
foreach (var x in d.Descendants("seg").Elements("value").Attributes().Where(x => x.Value == "modified"))
MessageBox.Show(x.Parent.Value);
[編集3]
foreach (var x in d.Descendants("seg").Elements("value").Where(x => x.Attribute("key").Value == "modified"))
MessageBox.Show(x.Value);
あなたが属性を取得この方法ではなく、要素。 –
ヤップ...私はそれを見つけた。それはLINQと混合されていますが、主にそれはforeachです... – Jason
Ahh。コメントありがとうございました。 – Jason