IXMLNode *XMLNode;
TDateTime dateTime;
WideString lastBuildDate;
WideString title;
WideString url;
WideString description;
WideString pubDate;
String rss;
int sbn=0;
if (XMLDocument1->Active) {
XMLNode=XMLDocument1->DocumentElement;
if (XMLNode->GetHasChildNodes ())
{
if (chanalCount<=XMLNode->ChildNodes->Count-1)
{
//находим канал и получаем дату обновления
XMLNode=XMLNode->ChildNodes->FindNode("channel");
lastBuildDate=XMLNode->ChildNodes->FindNode("lastBuildDate")->Text;
//преобразование даты в TDateTime
ConvertXmlData(lastBuildDate,dateTime);
title=XMLNode->ChildNodes->FindNode("title")->Text;
url=XMLNode->ChildNodes->FindNode("link")->Text;
rss=title+"\r\n"+url+"\r\n";
sbn=XMLNode->ChildNodes->GetCount();
XMLNode=XMLNode->ChildNodes->First();
//ищем первый итемс
while (subItemCount<=sbn-1)
{
if (XMLNode->GetNodeName()=="item")
{
title=XMLNode->ChildNodes->FindNode("title")->Text;
url=XMLNode->ChildNodes->FindNode("link")->Text;
description=XMLNode->ChildNodes->FindNode("description")->Text;
pubDate=XMLNode->ChildNodes->FindNode("pubDate")->Text;
rss+=title+"\r\n"+url+"\r\n"+description;
subItemCount++;
break; //выпрыгиваем если нашли
}
XMLNode=XMLNode->NextSibling();
subItemCount++; //переход на следующий если не нашли.
}
//проверка следующего какнала
if (subItemCount>=sbn-1) {
chanalCount++;
subItemCount=0;
}
}
else chanalCount=0;
}
}
TrayMessage(NIM_MODIFY,rss);
кодировка XMLDocument
Доброго всем времени. Помогите разобраться. Загружаю XML в XMLDocument, текст в "description" русский, кодировка "windows-1251", а при обработке (исходник ниже) получаю аброкадабру. Но иногда!!!! по непонятным причинам текст всетаки получается на русском языке. Может это глюк билдера? Или мой? Помогите.