私は、まさにこの形式のようなXMLがあります:LINQのを使用してC#ではLINQを使用してXML要素の位置(インデックス順)を取得する方法は?
<?xml version="1.0" encoding="utf-8"?>
<book>
<chapter>
<verse>This is verse 1</verse>
<verse>This is verse 2</verse>
<verse>This is verse 3</verse>
<verse>This is verse 4</verse>
</chapter>
<chapter>
<verse>This is verse 1</verse>
<verse>This is verse 2</verse>
</chapter>
<chapter>
<verse>This is verse 1</verse>
</chapter>
</book>
を、私は(関数state.getChapterNumberの値に基づいて、特定の位置またはインデックスのXML要素を取得できるようにする必要があります)。たとえば、値が4の場合、XMLドキュメントから4番目の章の要素を取得する必要があります。
XDocument book = XDocument.Load(string.Format("Translations/NWT/{0}.xml", state.BookName));
var verses = from chapter in book.Decendants()
where state.getChapterNumber() == (WHAT DO I PUT HERE TO MATCH THE VALUE??)
from verse in chapter.Descendants("p").Elements()
select new
{
VerseNumber = verse.Attribute("n").Value,
Text = verse.Value,
LastVerseInParagraph = verse.Parent.Elements().LastOrDefault().Value,
FirstVerseInParagraph = verse.Parent.Elements().FirstOrDefault().Value
};
これは本当に重要であり、数日間私を抱きしめています。私がしたいのは、私が本で選んだ任意の章から詩を得ることだけです。
なぜ私は 'chapter.Index()と言うことはできません。 Value == state.getChapterNumber() ' –