2

私はLinqが初めてなので、非常に基本的な質問をお詫びします。

私は次の種類のXMLを持っています

<QuestionSet type="MCQ">
  <Question>

    What will the output of following

       // main()
       // {
        // int x = 10, y = 15;
        // x = x++;
        // y = ++y;
        // printf("%d, %d", x, y);
       // }
    </Question>"

<Options>
    <Option number="1">10, 15</Option>
    <Option number="2">10, 16</Option>
    <Option number="3">11, 15</Option>
    <Option number="4">11, 16</Option>
  </Options>
</QuestionSet>

1、2、3、4 などの属性でオプション値を取得したいと考えています。

4

2 に答える 2

1
var d = new XmlDocument();
d.LoadXml("yuor document text");

d.ChildNodes.OfType<XmlElement>().SelectMany(root => root.ChildNodes.OfType<XmlElement>().Where(x => x.Name == "Options").SelectMany(options => options.ChildNodes.OfType<XmlElement>().Select (option => option.Attributes["number"].Value))).Dump();

少しアグリーかもしれません。foreach を使用するか、XPATH //options/option["number"] を使用する方がよいかもしれません - (xpath クエリが間違っている可能性があります)

于 2013-09-05T08:51:50.513 に答える