break
выйдет из цикла полностью, continue
будет всего пропуск текущее повторение.
, Например:
for (int i = 0; i < 10; i++) {
if (i == 0) {
break;
}
DoSomeThingWith(i);
}
повреждение заставит цикл выходить на первом повторении - DoSomeThingWith
, никогда не будет выполняться. Это здесь:
for (int i = 0; i < 10; i++) {
if(i == 0) {
continue;
}
DoSomeThingWith(i);
}
не выполнится DoSomeThingWith
для i = 0
, но цикл будет продолжаться , и DoSomeThingWith
будет выполняться для i = 1
к i = 9
.
Delphi поставляется с TXMLDocument, который представляет собой оболочку, которая позволяет вам выбирать между MSXML, Open XML и Xerces XML.
Я просто импортирую Microsoft MSXML и использую его напрямую.
В разделе «Компонент | Импортировать компонент ...» выберите «Библиотека типов» и перейдите к Microsoft XML. Я рекомендую 6.0, но вы можете использовать 4, если хотите. Избегайте 3, поскольку он не очень соответствовал стандарту XML и в очень ранних версиях утечка памяти, а версия 5 доступна только с Office.
Обновление
Если скорость имеет большое значение, вы можете взглянуть в SAX (простой API для XML), который передает XML в потоковом режиме вместо построения DOM в памяти. Раньше он был включен в MSXML, но мне показалось, что я где-то читал, что он был удален в версии 6. Я обычно использую DOM, поэтому я не могу рекомендовать конкретный парсер SAX,
Насколько мне известно OmniXML полностью поддерживает D2009.
А как насчет msxml, включенного в Delphi2007? Я предполагаю, что это также работает в D2009.
Delphi включает TXMLDocument / IXMLDocument, который может использовать MSXML и другие синтаксические анализаторы. Что еще вам нужно?
Альтернативная объектная модель документа Open XML ( ADOM ) также является отличной (и на 100% Delphi, без зависимостей ActiveX / COM) XML-библиотекой.
Он поддерживает Delphi 5, 6, 7, 8, 2005, 2006, 2007 и 2009.