小编Guy*_*che的帖子

如何使用LINQ获取XML元素的位置(按顺序索引)?

我有完全像这种格式的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>
Run Code Online (Sandbox Code Playgroud)

在使用Linq的C#中,我需要能够根据函数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 = …
Run Code Online (Sandbox Code Playgroud)

c# xml linq linq-to-xml silverlight-4.0

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

linq ×1

linq-to-xml ×1

silverlight-4.0 ×1

xml ×1