В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Как изменять и сохранять документы XML с помощью класса "XmlDocument"

Данная статья была ранее опубликована под номером RU301233
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.
Данная статья содержит информацию о бета-версии программного продукта Microsoft. Информация в данной статье не является официальной и может быть изменена без предварительного уведомления.

Бета-версия продукта не обслуживается через каналы технической поддержки Microsoft. За информацией о получении технической поддержки бета-версии программного обеспечения обратитесь к документации, содержащейся в поставке, или на веб-сайте, с которого был загружен продукт.
Аннотация
В данной статье приводится описание процедуры обновления и сохранения документов XML с помощью класса "XmlDocument".

К началу статьи

Системные требования

В следующем списке представлены рекомендации по подбору аппаратного и программного обеспечения, сетевой инфраструктуры и пакетов обновления:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server или Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
В данной статье подразумевается, что вы обладаете достаточными знаниями в следующих областях программирования:
  • Терминология XML
  • Создание и чтение XML-файлов
  • Document Object Model (DOM)
К началу статьи

Как использовать класс "XmlDocument" для сохранения документов XML

  1. Запустите Microsoft Visual Studio .NET и создайте новый проект приложения типа "Console Application".
  2. Убедитесь, что проект имеет ссылку на пространство имен "System.Xml".
  3. Используйте директиву "Imports" для пространства имен "Xml", чтобы избежать использования полного имени в дальнейшем. Директива "Imports" должна быть указана в начале программного кода:Для Visual Basic .NET
    Imports System.Xml
    Для C#
    using System.Xml;
  4. Создайте экземпляр объекта "XmlDocument" и загрузите XML-документ с помощью метода "Load".

    Класс "XmlDocument" представляет XML-документ и включает в себя метод "Load", предназначенный для загрузки документа из файла или потока.

    Для Visual Basic .NET
    Dim myXmlDocument as XmlDocument = new XmlDocument()myXmlDocument.Load ("books.xml"))
    Для C#
    XmlDocument myXmlDocument = new XmlDocument();myXmlDocument.Load ("books.xml");
    Вы можете создать файл "Books.xml" самостоятельно или использовать готовый. Пример файла "Books.xml" также включен в поставку Visual Studio .NET и .NET Framework Software Development Kit (SDK).
  5. Класс "XmlNode" обеспечивает методы и свойства для управления узлом XML-документа.Используйте свойство "DocumentElement" объекта "XmlNode" класса "XmlDocument" для доступа к элементами XML-документа.Для Visual Basic .NET
    Dim node as XmlNodenode = myXmlDocument.DocumentElement
    Для C#
    XmlNode node;node = myXmlDocument.DocumentElement;
  6. Выполните просмотр элементов документа XML и найдите все узлы "price". Используйте оператор цикла "For Each" для элементов "ChildNodes" объекта "Node", чтобы найти все узлы, у которых свойство "Name" равно "price". Удвойте цену книги.Для Visual Basic .NET
    Dim node2 As XmlNode 'Используется во внутреннем цикле.Dim nodePriceText As XmlNodeFor Each node In node.ChildNodes   'Find the price child node.   For Each node2 In node.ChildNodes      If node2.Name = "price" Then         ' nodePriceText = node2.InnerText         Dim price As Decimal         price = System.Decimal.Parse(node2.InnerText)         ' Удваивает цену.         Dim newprice As String         newprice = CType(price * 2, Decimal).ToString("#.00")         Console.WriteLine("Old Price = " & node2.InnerText & Strings.Chr(9) & "New price = " & newprice)         node2.InnerText = newprice      End If   NextNext
    Для C#
    foreach(XmlNode node1 in node.ChildNodes)   foreach (XmlNode node2 in node1.ChildNodes)      if (node2.Name == "price")         {            Decimal price = Decimal.Parse(node2.InnerText);            // Увеличивает цену всех книг на 20%            String newprice = ((Decimal)price*(new Decimal(1.20))).ToString("#.00");            Console.WriteLine("Old Price = " + node2.InnerText + "\tNew price = " + newprice);            node2.InnerText = newprice;          }
  7. Используйте метод "Save" класса "XmlDocument" для сохранения нового XML документа с именем "InflatedPriceBooks.xml".

    Метод "Save" может быть использован для сохранения данных XML в файл, поток или класс "XmlWriters".Для Visual Basic .NET
    myXmlDocument.Save("InflatedPriceBooks.xml"))
    Для C#
    myXmlDocument.Save("InflatedPriceBooks.xml");
    За дополнительной информацией о примере программного кода, отображающего содержимое XML документа, обратитесь к следующей статье Microsoft Knowledge Base:
    301101HOW TO: Work with the XmlDocument Class to Load and Use XML
  8. Запустите Ваш проект.
К началу статьи

ССЫЛКИ

За дополнительной информацией обратитесь к следующим веб-сайтам: К началу статьи





dotnet xml
Свойства

Номер статьи: 301233 — последний просмотр: 04/08/2003 13:26:26 — редакция: 2.0

  • Microsoft .NET Framework Software Development Kit 1.0
  • kbhowto kbhowtomaster kbxml tslic_tslic KB301233
Отзывы и предложения