2014-11-17 3 views
-2

у меня есть законная XmlNodeList позволяет называть его Нодлист
я могу назвать nodelist.ChildNodes и что работает
я могу также назвать nodelist.ChildNodes.AsQueryable()
но потом, когда я пытаюсь nodelist.ChildNodes.AsQueryable(). Где (х => х ....), которая неКак найти/считать на xmlnodelist в C# - это xmlnodelist.childnodes.asqueryable() хороший способ?

я включил

using System.Linq 

, но им любопытное в недоумении, как
1. найти определенные узлы
2. сотрудничества ЕНТ узлы, которые начинаются с определенным ключом, т.е.

<key1 attrib1="xxx">yyy</key1> 

сколько узлов есть с ключом = «ключом1»

пожалуйста обратите внимание: прежде, чем я накричал на дублирующие публикации -
я потратил часы в течение дня пара пытается выяснить, как это сделать это
и ничего на стеке было достаточно ясно (для меня в любом случае ...)

ТНХ - вы, ребята, большой

UPDATE: ИТАК, Что интересно, что
даже Тхо я не получил понижен - никто (сразу, что это) было решение моего точного вопроса
, который, как сделать это с XmlNodeList
, что люди имели были альтернативные ответы - все хорошо
так не кажется, что XmlNodeList AsQueryable делает то, что следует из названия

1) с помощью xmlnode.selectnodes()
, который очень хороший пример можно найти здесь
Select Xml Node using Linq to XML

2) XML-класс (см. Выбранный ответ)

+0

Ваши вопросы в сообщении не связаны с заголовком (частично потому, что вам не нужно использовать 'AsQueryable' вообще для поиска/подсчета узлов) ... Возможно, некоторые учебники по XML/XPath - это то, что вам нужно. Но если вы действительно ищете 'AsQueryable', чтобы быть полезным, вы должны использовать' ChildNodes' для строго типизированного перечисления в первую очередь: 'nodelist.ChildNodes.Cast () .AsQueryable()' –

+0

thx @AlexeiLevenkov - да, я мог бы легко лаять неправильное дерево. если есть лучшие способы сделать сообщение find/count pls, и я отрегулирую заголовок. спасибо! – toy

+0

Трудно сказать, что вы пытаетесь сделать. Вы должны сделать [SSCCE] (http://www.sscce.org/), у которого есть ** соответствующий ** код, который у вас уже есть, четкое описание того, что происходит, а также включить именно то, что вы хотите. –

ответ

1

Попытайтесь поместить свой XML в пользовательский класс и запросить пользовательский класс. Это больше работы, но человек - это его стоимость. Зайдите в this вопрос о том, как это сделать.

+1

thx @volearix! никогда не думал об этой концепции, но ее увлекательный – toy

+0

Нет проблем, это возникло как требование в проекте, над которым я недавно работал, и действительно делал многое, в конце концов, намного проще. – Volearix