Lisp WAS, используемая в AI до конца 1980-х. В 80-х, тем не менее, язык Common LISP был перепродан к деловому миру как "язык AI"; обратная реакция вынудила большинство программистов AI к C++ в течение нескольких лет. В эти дни прототипы обычно пишутся на младшем динамическом языке (Perl, Python, Ruby, и т.д.) и реализации успешного исследования обычно находится в C или C++ (иногда Java).
, Если Вам любопытно на предмет 70-х... хорошо, я не был там. Но я думаю, что Lisp был успешен в исследовании AI по трем причинам (в порядке важности):
я не имею старая книга AI Peter Norvig, но она, как предполагается, хороший способ учиться программировать алгоритмы AI в Lisp.
Правовая оговорка: Я - студент градиента в компьютерной лингвистике. Я знаю подполе обработки естественного языка намного лучше, чем другие поля. Возможно, Lisp используется больше в других подполях.
Когда вы загружаете xml, вы можете использовать XmlReaderSettings
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;
XmlReader reader = XmlReader.Create("...", settings);
xmlDoc.Load(reader);
В существующем экземпляре ваше решение выглядит хорошо.
Нет, это все, хотя я был бы склонен сначала поместить узлы в список.
Я не уверен насчет реализации .NET XmlNodeList
, но я знаю, что предыдущие реализации MSXML загружали список лениво, и код, подобный приведенному выше в прошлом, в конечном итоге каким-то образом не работал. в результате изменения дерева DOM при перечислении списка.
foreach (var node in xml.SelectNodes("//comment()").ToList())
node.ParentNode.RemoveChild(node);