Поделиться через


XmlDocument.Load Метод

Определение

Загружает указанные XML-данные из Stream, URL-адрес, TextReader или XmlReader.

Перегрузки

Load(Stream)

Загружает XML-документ из указанного потока.

Load(TextReader)

Загружает XML-документ из указанного TextReader.

Load(String)

Загружает XML-документ из указанного URL-адреса.

Load(XmlReader)

Загружает XML-документ из указанного XmlReader.

Load(Stream)

Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs

Загружает XML-документ из указанного потока.

public:
 virtual void Load(System::IO::Stream ^ inStream);
public virtual void Load (System.IO.Stream inStream);
abstract member Load : System.IO.Stream -> unit
override this.Load : System.IO.Stream -> unit
Public Overridable Sub Load (inStream As Stream)

Параметры

inStream
Stream

Поток, содержащий загружаемый документ XML.

Исключения

Ошибка загрузки или синтаксического анализа в XML. В этом случае вызывается исключение FileNotFoundException.

Комментарии

Примечание

Метод Load всегда сохраняет значительные пробелы. Свойство PreserveWhitespace определяет, сохраняется ли незначительные пробелы, то есть пробелы в содержимом элемента. По умолчанию используется falseзначение ; пробелы в содержимом элемента не сохраняются.

Если требуется выполнить проверку, можно создать проверяющий XmlReader экземпляр с помощью XmlReaderSettings класса и Create метода . Дополнительные сведения см. в подразделе "Примечания" на справочной странице XmlReader.

Этот метод является расширением Майкрософт для модели DOM.

Этот метод автоматически определяет формат строки входного XML-кода (например, UTF-8, ANSI и т. д.). Если приложению необходимо знать, какая кодировка используется для чтения потока, рассмотрите возможность использования XmlTextReader объекта для чтения потока, а затем используйте XmlTextReader.Encoding свойство для определения кодировки. Если для работы с XML необходимо использовать XmlDocument объект , можно использовать XmlTextReader объект для его создания. Дополнительные сведения см. в разделе Чтение XML-данных с помощью XPathDocument и XmlDocument.

См. также раздел

Применяется к

Load(TextReader)

Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs

Загружает XML-документ из указанного TextReader.

public:
 virtual void Load(System::IO::TextReader ^ txtReader);
public virtual void Load (System.IO.TextReader txtReader);
abstract member Load : System.IO.TextReader -> unit
override this.Load : System.IO.TextReader -> unit
Public Overridable Sub Load (txtReader As TextReader)

Параметры

txtReader
TextReader

TextReader, используемый для передачи данных XML в документ.

Исключения

Ошибка загрузки или синтаксического анализа в XML. В этом случае документ остается пустым.

Примеры

В следующем примере класс используется StringReader для загрузки строки XML-данных в XmlDocument объект .

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   // Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   String^ xmlData = "<book xmlns:bk='urn:samples'></book>";
   doc->Load( gcnew StringReader( xmlData ) );
   
   // Create a new element and add it to the document.
   XmlElement^ elem = doc->CreateElement( "bk", "genre", "urn:samples" );
   elem->InnerText = "fantasy";
   doc->DocumentElement->AppendChild( elem );
   Console::WriteLine( "Display the modified XML..." );
   doc->Save( Console::Out );
}

using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

    // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    string xmlData = "<book xmlns:bk='urn:samples'></book>";

    doc.Load(new StringReader(xmlData));

    // Create a new element and add it to the document.
    XmlElement elem = doc.CreateElement("bk", "genre", "urn:samples");
    elem.InnerText = "fantasy";
    doc.DocumentElement.AppendChild(elem);

    Console.WriteLine("Display the modified XML...");
    doc.Save(Console.Out);
  }
}
Imports System.IO
Imports System.Xml

public class Sample 

  public shared sub Main() 

    ' Create the XmlDocument.
    Dim doc as XmlDocument = new XmlDocument()
    Dim xmlData as string = "<book xmlns:bk='urn:samples'></book>"

    doc.Load(new StringReader(xmlData))

    ' Create a new element and add it to the document.
    Dim elem as XmlElement = doc.CreateElement("bk", "genre", "urn:samples")
    elem.InnerText = "fantasy"
    doc.DocumentElement.AppendChild(elem)

    Console.WriteLine("Display the modified XML...")
    doc.Save(Console.Out)

  end sub
end class

Комментарии

Примечание

Метод Load всегда сохраняет значительные пробелы. Свойство PreserveWhitespace определяет, сохраняется ли незначительные пробелы, то есть пробелы в содержимом элемента. По умолчанию используется falseзначение ; пробелы в содержимом элемента не сохраняются.

Если требуется выполнить проверку, можно создать проверяющий XmlReader экземпляр с помощью XmlReaderSettings класса и Create метода . Дополнительные сведения см. в подразделе "Примечания" на справочной странице XmlReader.

Этот метод является расширением Майкрософт для модели DOM.

См. также раздел

Применяется к

Load(String)

Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs

Загружает XML-документ из указанного URL-адреса.

public:
 virtual void Load(System::String ^ filename);
public virtual void Load (string filename);
abstract member Load : string -> unit
override this.Load : string -> unit
Public Overridable Sub Load (filename As String)

Параметры

filename
String

URL-адрес файла, содержащего загружаемый документ XML. URL-адрес может ссылаться на локальный файл или являться HTTP-ссылкой (веб-адресом).

Исключения

Ошибка загрузки или синтаксического анализа в XML. В этом случае вызывается исключение FileNotFoundException.

filename представляет собой строку нулевой длины, содержащую только пробелы или один или несколько недопустимых символов, заданных методом InvalidPathChars.

filename имеет значение null.

Указанный путь, имя файла или оба значения превышают максимальную длину, заданную в системе.

Указан недопустимый путь (например, он ведет на несопоставленный диск).

При открытии файла произошла ошибка ввода-вывода.

Параметр filename указывает файл, доступный только для чтения.

-или-

Эта операция не поддерживается на текущей платформе.

-или-

Параметрfilename определяет каталог.

-или-

У вызывающего объекта отсутствует необходимое разрешение.

Файл, заданный параметром filename, не найден.

Параметр filename задан в недопустимом формате.

У вызывающего объекта отсутствует необходимое разрешение.

Комментарии

Примечание

Метод Load всегда сохраняет значительные пробелы. Свойство PreserveWhitespace определяет, сохраняется ли незначительные пробелы, то есть пробелы в содержимом элемента. По умолчанию используется falseзначение ; пробелы в содержимом элемента не сохраняются.

Если требуется выполнить проверку, можно создать проверяющий XmlReader экземпляр с помощью XmlReaderSettings класса и Create метода . Дополнительные сведения см. в подразделе "Примечания" на справочной странице XmlReader.

Этот метод является расширением Майкрософт для модели DOM.

См. также раздел

Применяется к

Load(XmlReader)

Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs

Загружает XML-документ из указанного XmlReader.

public:
 virtual void Load(System::Xml::XmlReader ^ reader);
public virtual void Load (System.Xml.XmlReader reader);
abstract member Load : System.Xml.XmlReader -> unit
override this.Load : System.Xml.XmlReader -> unit
Public Overridable Sub Load (reader As XmlReader)

Параметры

reader
XmlReader

XmlReader, используемый для передачи данных XML в документ.

Исключения

Ошибка загрузки или синтаксического анализа в XML. В этом случае документ остается пустым.

Примеры

В следующем примере узел последней книги books.xml файла загружается в XML-документ.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   //Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   
   //Load the document with the last book node.
   XmlTextReader^ reader = gcnew XmlTextReader( "books.xml" );
   reader->WhitespaceHandling = WhitespaceHandling::None;
   reader->MoveToContent();
   reader->Read();
   reader->Skip(); //Skip the first book.
   reader->Skip(); //Skip the second book.
   doc->Load( reader );
   doc->Save( Console::Out );
}

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    //Create the XmlDocument.
    XmlDocument doc = new XmlDocument();

    //Load the document with the last book node.
    XmlTextReader reader = new XmlTextReader("books.xml");
    reader.WhitespaceHandling = WhitespaceHandling.None;
    reader.MoveToContent();
    reader.Read();
    reader.Skip(); //Skip the first book.
    reader.Skip(); //Skip the second book.
    doc.Load(reader);

    doc.Save(Console.Out);
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        'Create the XmlDocument.
        Dim doc As New XmlDocument()
        
        'Load the document with the last book node.
        Dim reader As New XmlTextReader("books.xml")
        reader.WhitespaceHandling = WhitespaceHandling.None
        reader.MoveToContent()
        reader.Read()
        reader.Skip() 'Skip the first book.
        reader.Skip() 'Skip the second book.
        doc.Load(reader)
        
        doc.Save(Console.Out)
    End Sub
End Class

В этом примере в качестве входных данных используется файл books.xml.

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

Комментарии

Примечание

Метод Load всегда сохраняет значительные пробелы. Свойство PreserveWhitespace определяет, сохраняется ли незначительные пробелы, то есть пробелы в содержимом элемента. По умолчанию используется falseзначение ; пробелы в содержимом элемента не сохраняются.

Если средство чтения находится в начальном состоянии (ReadState =ReadState.Initial), Load использует все содержимое средства чтения и создает модель DOM на основе того, что находит.

Если средство чтения уже расположено на каком-то узле с глубиной "n", этот метод загружает этот узел и все последующие одноуровневые узлы до конечного тега, который закрывает глубину "n". Это приводит к следующим результатам.

Если текущий узел и его одноуровневые элементы выглядят следующим образом:

<!--comment--><element1>one</element1><element2>two</element2>

Load Вызывает исключение, поскольку документ не может содержать два элемента корневого уровня. Если текущий узел и его одноуровневые элементы выглядят следующим образом:

<!--comment--><?process instruction?><!--comment--></endtag>

Load Выполняется успешно, но у вас есть неполное дерево DOM, так как отсутствует элемент корневого уровня. Перед сохранением документа необходимо добавить элемент корневого уровня, в противном случае Save возникнет исключение.

Если средство чтения расположено на конечном узле, который является недопустимым для корневого уровня документа, например на узле пробела или атрибута, средство чтения продолжает читать, пока не будет размещено на узле, который можно использовать для корня. Документ начинает загружаться в этой точке.

Если требуется выполнить проверку, можно создать проверяющий XmlReader экземпляр с помощью XmlReaderSettings класса и Create метода . Дополнительные сведения см. в подразделе "Примечания" на справочной странице XmlReader.

Этот метод является расширением Майкрософт для модели DOM.

См. также раздел

Применяется к