sokv (sokv) wrote,
sokv
sokv

  • Mood:
  • Music:

читать/писать xml в C#

После долгого перерыва в использовании Visual Studio, встала задача написания БД на C#. Используя Visual Studio несколько лет назад, я писал на C++, сейчас язык C# мне пришлось использовать впервые.

Проблему вызвало использование xml для сохранения настроек программы. Microsoft как будто нарочно усложнил использование xml настолько, чтобы невозможно было понять как пользоваться их библиотекой... В процессе выяснений, как же читать и писать xml я, используя msdn, поначалу никак не мог понять, как же это сделать. В поисковых системах я тоже нигде не нашёл подходящего мне примера. В итоге, пользуясь попеременно msdn, поисковыми системами и экспериментируя, мне удалось использовать xml для сохранения настроек. Возможно, этот опыт быть полезен не только мне.

Пусть необходимо читать/писать такой файл:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Settings>
<datasource>datasource1</datasource>
</Settings>

Используемые библиотеки:

using System.Xml;
using System.Xml.XPath;

Код:

XmlDataDocument xml = new XmlDataDocument();
XPathNavigator xpath;
XPathNodeIterator ni;

xml.Load("c:\\settings.xml");
xpath = xml.CreateNavigator();

//
ni = (XPathNodeIterator) xpath.Select("descendant::datasource"); // это запрос на языке xPath
if (ni.Count > 0)
{
// читаем
ni.MoveNext();
XmlNode node = ((IHasXmlNode)ni.Current).GetNode();
MessageBox.Show(node.InnerText);

// пишем
node.InnerText = "newDatasource";
xml.Save("c:\\settings.xml");
}
  • Post a new comment

    Error

    default userpic
  • 0 comments