0

私はこのxmlを持っています

<root>
<TR_ZAL IDZ="cOY9" O="0">
</TR_ZAL>
<TR_ZAL IDZ="FOXd" O="10">
</TR_ZAL>
<TR_ZAL IDZ="wAW5" O="1">
<TR_ZAL IDZ="AWak" O="1">
</TR_ZAL>
<TR_ZAL IDZ="XpPp" O="10">
</TR_ZAL>
<TR_ZAL IDZ="asTu" O="10">
</TR_ZAL>
<TR_ZAL IDZ="y9VV" O="1">
</TR_ZAL>
</root>

そしてIDZ "AWak"、私の仕事は、既知の要素を取得し、IDZその後同じ属性を持つ次の要素まですべてを取得するOことであり、他に何もない場合は、残りのすべての要素を取得する必要があることを知っています。この場合、それは

<TR_ZAL IDZ="AWak" O="1">
</TR_ZAL>
<TR_ZAL IDZ="XpPp" O="10">
</TR_ZAL>
<TR_ZAL IDZ="asTu" O="10">
</TR_ZAL>

だから私はlinqを使用しようとしましたが、間違いを見つけることができないので、誰か私を半分にしてもらえますか?

IEnumerable<XElement> rozsah = xmlText.Root.Elements("TR_ZAL")
                  .SkipWhile(x => x.Attribute("IDZ").Value != "AWak")
                  .Take(1)
                  .TakeWhile(x =>Convert.ToInt32(x.Attribute("O").Value) != o);
4

1 に答える 1