Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #28, МАРТ 2003 г.

Обнаженная теория об XML.

DarkSergeant

Спецвыпуск Xakep, номер #028, стр. 028-056-7


{

//поднять зарплату на 100 баксов

nameNode.InnerText = (int.Parse(nameNode.InnerText) + 100).ToString();

}

//сохранить измененный документ

doc.Save ("users2.xml");

XmlWriter

Запись через XmlWriter выглядит менее удобной (больше надо делать руками), но и зато менее ресурсоемкой. Но опять же используя XmlWriter вместо DOM-а, мы теряем кучу вкусностей. Запись в XmlWriter производится через функции WriteStartDocument, WriteStartElement, WriteAttributeString, WriteEndElement, WriteEndDocument. Следующий код записывает в файл одинокого юзера Васю:

//Создаем XmlWriter, который умеет писать в файл, задав ему имя файла “singleUser.xml”и стандартную windows кодировку

XmlTextWriter writer = new XmlTextWriter("singleUser.xml", Encoding.GetEncoding(1251));

//Записываем заголовок документа

writer.WriteStartDocument();

//Записываем стартовый тег элемента Users

writer.WriteStartElement("Users");

//Записываем стартовый тег элемента User

writer.WriteStartElement("User");

//Записываем атрибут id со значением 0

writer.WriteAttributeString("id", 0.ToString());

//Записываем элемент Name

writer.WriteStartElement("Name");

//Записываем в элемент Name текст «Вася»

writer.WriteString("Вася");

//Записываем закрывающий тег Name

writer.WriteEndElement();

//Записываем закрывающий тег User

writer.WriteEndElement();

//Записываем закрывающий тег Users

writer.WriteEndElement();

//Записываем конец документа

writer.WriteEndDocument();

//Закрываем файл

writer.Close();

Концовка

В этой статье я рассмотрел только самые основы Xml-я. Очень многое осталось за кадром, но я надеюсь, что ты уже достаточно грамотный чел, чтобы самому разобраться в том, что я не успел рассказать.

Традиционно желаю тебе учить новейшие технологии, так как знание новых технологий, это возможность срубить приличную кучу бабла. Если что-то не до конца было понятно, то посылаю тебя в MSDN, www.w3.org, rsdn.ru, microsoft.com. На этих ресурсах ты найдешь наиболее свежую и полную инфу.

Т.к. HTML не удовлетворяет требованиям XML (в HTML-е есть не закрытые теги, атрибуты могут писаться без кавычек и т.д.), то с HTML-ем не получается работать стандартными средствами XML. Но так как очень хочется поработать с HTML, используя богатые фичи XML, то W3C немного доработал стандарт HTML до уровня, чтобы выполнялись требования XML. Новый стандарт получил название XHTML. По большому счету большой разницы между HTML и XHTML нет, просто в XHTML немного ужесточили синтаксис. Так в XHTML запрещено использование незакрытых тегов (теперь тот же <br> надо писать так <br></br> или так <br/>), атрибуты должны обязательно быть заключены в кавычки, на верхнем уровне XHTML-документа должен быть только один элемент <HTML>. Если HTML-документ удовлетворяет стандарту XHTML, то сразу появляется толпа вкусностей. Тогда для разбора HTML-файла можно использовать стандартные Xml-парсеры, можно применять XPath-запросы, XSL-преобразования и т.д.

Собрался как-то интернетовский и около-интернетовский народ и рюхнул фишку, что нужно создать могучую кучку, которая будет разрабатывать инетовские стандарты и следить за их выполнением. Так язык HTML, XML, а также другие публичные интернетовские стандарты разрабатывает и поддерживает эта самая могучая кучка W3C (World Wide Wed Consortium). На их творения (различные стандарты) можно посмотреть на сайте www.w3.org.

Назад на стр. 028-056-6  Содержание