У меня есть XML и я хочу, чтобы узел «action» находился в отсортированном порядке на основе значения атрибута «нет».Сортировка XML-документа на основе grandchild
<game gamecode="10065904">
<general>
<startdate>2015-06-10 07:59:04</startdate>
<players>
<player seat="1" name="player1" chips="2,937" dealer="1" win="0" bet="20" rebuy="0" addon="0" reg_code="-" />
<player seat="3" name="ponda22c" chips="780" dealer="0" win="0" bet="0" rebuy="0" addon="0" reg_code="-" />
<player seat="5" name="Mesut1Rebel" chips="0" dealer="0" win="0" bet="0" rebuy="0" addon="0" reg_code="-" />
<player seat="6" name="player4" chips="10,746" dealer="0" win="0" bet="420" rebuy="0" addon="0" reg_code="-" />
<player seat="8" name="player5" chips="3,670" dealer="0" win="0" bet="420" rebuy="0" addon="0" reg_code="-" />
<player seat="10" name="player6" chips="5,143" dealer="0" win="2,558" bet="1,700" rebuy="0" addon="0" reg_code="-" />
</players>
</general>
<round no="0">
<action no="1" player="player4" type="1" sum="10" cards="[cards]" />
<action no="2" player="player5" type="2" sum="20" cards="[cards]" />
</round>
<round no="1">
<cards type="Pocket" player="player1">X X</cards>
<action no="4" player="player1" type="3" sum="20" cards="" />
<cards type="Pocket" player="player4">X X</cards>
<action no="5" player="player4" type="3" sum="10" cards="" />
<cards type="Pocket" player="player5">X X</cards>
<action no="6" player="player5" type="4" sum="0" cards="" />
<cards type="Pocket" player="player6">X X</cards>
<action no="3" player="player6" type="3" sum="20" cards="" />
</round>
<round no="2">
<cards type="Flop" player="">H4 CQ C8</cards>
<action no="10" player="player1" type="0" sum="0" cards="" />
<action no="7" player="player4" type="4" sum="0" cards="" />
<action no="11" player="player4" type="3" sum="80" cards="" />
<action no="8" player="player5" type="4" sum="0" cards="" />
<action no="12" player="player5" type="3" sum="80" cards="" />
<action no="9" player="player6" type="5" sum="80" cards="" />
</round>
<round no="3">
<cards type="Turn" player="">H9</cards>
<action no="13" player="player4" type="4" sum="0" cards="" />
<action no="16" player="player4" type="3" sum="320" cards="" />
<action no="14" player="player5" type="4" sum="0" cards="" />
<action no="17" player="player5" type="3" sum="320" cards="" />
<action no="15" player="player6" type="5" sum="320" cards="" />
</round>
<round no="4">
<cards type="River" player="">HJ</cards>
<action no="18" player="player4" type="4" sum="0" cards="" />
<action no="21" player="player4" type="0" sum="0" cards="" />
<action no="19" player="player5" type="4" sum="0" cards="" />
<action no="22" player="player5" type="0" sum="0" cards="" />
<action no="20" player="player6" type="5" sum="1,280" cards="" />
</round>
</game>
Например, в раунде нет = 2, узлы действия не в последовательности, действие № 7 не является первым ребенком, его второй там. Я хочу, чтобы это было первым. Так круглый нет моего отсортированного документа = 2 должен выглядеть следующим образом:
<round no="2">
<cards type="Flop" player="">H4 CQ C8</cards>
<action no="7" player="player4" type="4" sum="0" cards="" />
<action no="8" player="player5" type="4" sum="0" cards="" />
<action no="9" player="player6" type="5" sum="80" cards="" />
<action no="10" player="player1" type="0" sum="0" cards="" />
<action no="11" player="player4" type="3" sum="80" cards="" />
<action no="12" player="player5" type="3" sum="80" cards="" />
</round>
Как я могу сделать это с помощью LINQ или каким-либо другим простым способом. Обратите внимание, что после сортировки только узлы действия будут меняться, остальные узлы останутся в одном месте.
Это помогло бы, если бы вы могли уменьшить свой образец XML до более управляемого размера - достаточно, чтобы воспроизвести проблему, но не более того, а также отступы, соответственно, но * без * посторонних символов '-', которые предположительно исходят из ваш браузер. –
«быть в отсортированном порядке» - как и где именно? Вы хотите отсортировать XML на месте или при извлечении списка действий? –
Что происходит в случае, когда элементы 'cards' перемежаются на всем протяжении? Например, как бы вы сортировали раунд 1? –