как выбрать элемент XElement и его дочерний элемент в одном запросе Linq - PullRequest
0 голосов
/ 20 октября 2011

Мне нужно выбрать родителя и потомка за один шаг, чтобы я мог получить их как IEnumerable и перебрать их

Я пробовал parent.descendantsandself, но ничего не получается

<MenuItem id="MyAccount" rmId="MyAccount" loc-attr="MyAccount,text" text="My Account" target="" display="true">
  <MenuItem id="MyProducts" rmId="MyProducts" loc-attr="MyProducts,text" text="My McAfee Products" target="" display="true" href="http://home.mcafee.com/root/myAccount.aspx" />
  <MenuItem id="MyProfile" rmId="MyProfile" loc-attr="MyProfile,text" text="Update McAfee Account Info" target="" display="true" href="https://home.mcafee.com/Secure/Protected/MyAccountInfo.aspx" />
  <MenuItem id="MyArSettings" rmId="MyArSettings" loc-attr="MyArSettings,text" text="My Auto-Renewal Settings" href="https://home.mcafee.com/Secure/Protected/AutoRenew.aspx" target="" display="true" />
</MenuItem>

1 Ответ

0 голосов
/ 21 октября 2011

На основании предоставленной вами информации я думаю, что DescendantsAndSelf должно работать, например, когда я пытаюсь

            XElement item = XElement.Parse(@"<MenuItem Id=""m1"">
  <MenuItem Id=""m2""></MenuItem>
  <MenuItem Id=""m3""></MenuItem>
</MenuItem>");
            foreach (XElement menu in item.DescendantsAndSelf())
            {
                Console.WriteLine("{0}", menu.Attribute("Id").Value);
            }

приятно выводит id всех трех элементов:

m1
m2
m3

Если у вас все еще есть проблемы с кодом, который не выполняет то, что вы от него хотите, подумайте, чтобы показать нам достаточно этого кода, чтобы мы могли воспроизвести проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...