1

私はxmlファイルを持っています。

<BOOK bnumber="1" bname="Book">
    <CHP cnumber="1">
        <VER vnumber="1">This is the sentence 1.</VER>
        <VER vnumber="2">This is the sentence 2.</VER>
        <VER vnumber="3">This is the sentence 3.</VER>
   </CHP>
   <CHP cnumber="2">
        <VER vnumber="1">Hello World 1.</VER>
        <VER vnumber="2">Hello World 2.</VER>
        <VER vnumber="3">Hello World 3.</VER>
        <VER vnumber="4">Hello World 4.</VER>
   </CHP>
   <!--MANY: Thousand records-->
</BOOK>

属性「cnumber」を取得したい。結果:

Chapter={"CHP 1";"CHP 2",....};

私の未完成のコード:

XDocument xdoc = XDocument.Load("Book.xml");
        var temp = xdoc.Descendants("CHP").Where(x => x.Attribute("cnumber").Value != "0");

ありがとう。

4

1 に答える 1

4

おそらく使用できるようです:

var chapters = xdoc.Descendants("CHP")
                   .Select(x => "CHP " + x.Attribute("cnumber").Value)
                   .ToList();

なぜ句が必要なのかは明確ではありません。確かに、指定したサンプルデータWhereのいずれにも0 または不在が含まれていません。それを考慮する必要がある場合は、その旨を明示する必要があります。cnumbercnumber

(ところで、そもそも「CHP」の部分が本当に必要ですかList<int>

于 2012-07-07T14:50:53.510 に答える