问候!
我有一些像这样的XML:
<Root>
<AlphaSection>
.
.
.
</AlphaSection>
<BetaSection>
<Choices>
<SetA>
<Choice id="choice1">
<Title>Choice 1 Title</Title>
<Body>Choice 1 Body</Body>
</Choice>
<Choice id="choice2">
<Title>Choice 2 Title</Title>
<Body>Choice 2 Body</Body>
</Choice>
</SetA>
<SetB>
<Choice id="choice3">
<Title>Choice 3 Title</Title>
<Body>Choice 3 Body</Body>
</Choice>
<Choice id="choice4">
<Title>Choice 4 Title</Title>
<Body>Choice 4 Body</Body>
</Choice>
</SetB>
</Choices>
</BetaSection>
<GammaSection>
.
.
.
</GammaSection>
</Root>
我目前正在执行以下操作来检索每个选项的ID:
var choiceList = myXDoc.Root
.Element("BetaSection")
.Descendants("Choice")
.Select(element => new
{
ID = element.Attribute("id").Value,
// Title = ?
// Body = ?
});
我还想在每个Choice的Title和Body子节点中获取值。我该怎么办呢?感谢。
答案 0 :(得分:1)
element => new {
ID = element.Attribute("id").Value,
Title = element.Element("Title").Value,
Body = element.Element("Body").Value
});
答案 1 :(得分:0)
此外,XElement还提供了一系列类型转换重载,因此您可以执行以下操作:
element => new {
ID = (string)element.Attribute("id"),
title = (string)element.Element("Title"),
Body = (string)element.Element("Body")
});