хаотичные закономерности
terR0Q
дневник заведен 24-08-2004
постоянные читатели [37]
aidez, ARK, azsh, AzzRaiL, Dirly-Doo, DSpirit, EUROPA, Garreth, Hydralisk, LostParadise, Miss Nothing, Mouette, Nichtout, Niko, Predator, SeniorXB, Snake'a, SNDP, TEHb MUPA, Teo Anuro, v3, xlly, Азазель, Букля_, Волжанин, Горячая, Духовные происки, Клуб КИНОпередвижка, Клуб Моя Косметичка, Коговедьки, Мао, Мист, Мор, Ниноко, ПАРАД УРОДОВ, Паранормальный клуб, проФЕССионал
закладки:
цитатник:
дневник:
местожительство:
Москва, Россия
[6] 25-09-2020 23:35
Men

[Print]
Мист
[1] 05-05-2008 11:47
Частицы

[Print]
Хитрый Борщ
21-09-2006 20:59 из жизни на диване
в течение 10 минут непринужденно набивалась схема кода и сам код (уж коли изучение идет параллельно с применением). затем последовала минута молчания и был добавлен намеренно незакрытый камент. называется, вспомнил

public static String AddOpenedArticle( String sectionName, Int32 articlesNumber )
{

* FUCK IT!!!!!!!!! IDIOT!!!!! YOU CAN MANAGE ALL THIS SHIT JUST BY A DYNAMIC
* XPATH!!!!!!!!

/*
* 1. Загружаем файл
* 2. Находим блок нужного раздела
* 3. В нем выбираем раздел общего числа статей
* и отдельно раздел числа открытых статей
* 4. Обновляем значения в узлах с учетом присланного числа статей
* 5. Сохраняем изменения.
* 6. Используя функции IncreaseArticlesTotalNumber и IncreaseArticlesTotalNumberSpecificType
* обновляем общую статистику
*/

String errorString = "";

// 1.
XmlDocument infoFile = new XmlDocument();
infoFile.Load( systemInfoFilePath );

//2.
XmlNodeList xmlElementsList = infoFile.GetElementsByTagName( xmlPathSectionNode );
/*
* данный прием неверен в случае использования такого узла,
* но подобная возможность пресекается далее проверкой был ли получен
* правильный узел.
* при этом не возникает ошибки использования неициализированной
* переменной типа XmlNode, которой не присвоено значение, в пункте 3.
*/
XmlNode xmlSectionNode = xmlElementsList.Item( 0 );

// используется для проверки был ли найден необходимый узел
bool isNodePresent = false;

foreach ( XmlNode xmlNode in xmlElementsList )
{
String attributeString = xmlNode.Attributes[ xmlAttributeSectionName ].Value;
// для тестирования
errorString += attributeString + "<br />";
if ( attributeString.Equals( sectionName ) )
{
xmlSectionNode = xmlNode;
isNodePresent = true;
break;
}
}

// проверка был ли получен узел
if ( !isNodePresent )
{
errorString += "Could not get section node in SystemInfo.xml";
return errorString;
}

// 3.
XmlNode totalArticlesCountNode = xmlSectionNode.SelectSingleNode( xmlSectionsTotalArticlesXPath );
XmlNode openArticlesCountNode = xmlSectionNode.SelectSingleNode( xmlSectionsOpenArticlesXPath );

// 4.
Int32 oldSectionTotalArticlesCount = Convert.ToInt32( totalArticlesCountNode.Value );
Int32 oldSectionOpenedArticlesCount = Convert.ToInt32( openArticlesCountNode.Value );

Int32 newSectionTotalArticlesCount = oldSectionTotalArticlesCount + articlesNumber;
Int32 newSectionOpenedArticlesCount = oldSectionOpenedArticlesCount + articlesNumber;

totalArticlesCountNode.Value = newSectionTotalArticlesCount.ToString();
openArticlesCountNode.Value = newSectionOpenedArticlesCount.ToString();

// 5.
infoFile.Save( systemInfoFilePath );

// 6.
IncreaseArticlesTotalNumber( articlesNumber );
IncreaseArticlesTotalNumberSpecificType( articlesNumber, ArticleAccessType.open );

return errorString;
}//AddOpenedArticle

(к сожалению у жру особенность весь текст выравнивать, ну да хрен с ними, с табами)
Комментарии:
женщина
Мням, Террок, чо б я понимала, увы. Но в любом случае, такие вот озарения - это клево. Даже когда они собственной недогадливостью определяются :)
22-09-2006 12:10
Камраде Д
%D
22-09-2006 16:23
абструктор
Ashley Steel
а кроме как экспрессию и суть появления понимать тут и не надо =)

Ваш комментарий:
Камрад:
Гость []
Комментарий:
[смайлики сайта]
Дополнительно:
Автоматическое распознавание URL
Не преобразовывать смайлики
Cкрыть комментарий
Закрыть