XmlReader XmlReader XmlReader XmlReader Class

정의

빠르고, 캐시되지 않으며 앞으로만 이동 가능한 XML 데이터 액세스를 제공하는 판독기를 나타냅니다. Represents a reader that provides fast, noncached, forward-only access to XML data.

public ref class XmlReader abstract : IDisposable
public abstract class XmlReader : IDisposable
type XmlReader = class
    interface IDisposable
Public MustInherit Class XmlReader
Implements IDisposable
상속
XmlReaderXmlReaderXmlReaderXmlReader
파생
구현

예제

다음 예제 코드에서는 비동기 API를 사용 하 여 XML을 구문 분석 하는 방법을 보여 줍니다.The following example code shows how to use the asynchronous API to parse XML.

async Task TestReader(System.IO.Stream stream)
{
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.Async = true;

    using (XmlReader reader = XmlReader.Create(stream, settings))
    {
        while (await reader.ReadAsync())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    Console.WriteLine("Start Element {0}", reader.Name);
                    break;
                case XmlNodeType.Text:
                    Console.WriteLine("Text Node: {0}",
                             await reader.GetValueAsync());
                    break;
                case XmlNodeType.EndElement:
                    Console.WriteLine("End Element {0}", reader.Name);
                    break;
                default:
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value);
                    break;
            }
        }
    }
}
Public Async Function TestReader(stream As System.IO.Stream) As Task
    Dim settings As New XmlReaderSettings()
    settings.Async = True

    Using reader As XmlReader = XmlReader.Create(stream, settings)
        While (Await reader.ReadAsync())
            Select Case (reader.NodeType)
                Case XmlNodeType.Element
                    Console.WriteLine("Start Element {0}", reader.Name)
                Case XmlNodeType.Text
                    Console.WriteLine("Text Node: {0}",
                             Await reader.GetValueAsync())
                Case XmlNodeType.EndElement
                    Console.WriteLine("End Element {0}", reader.Name)
                Case Else
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value)
            End Select
        End While
    End Using
End Function

설명

XmlReader 문서 또는 스트림에 XML 데이터에 대 한 정방향 전용, 읽기 전용 액세스를 제공합니다.XmlReader provides forward-only, read-only access to XML data in a document or stream. 이 클래스는 W3C에 맞는 Extensible Markup Language (XML) 1.0 (1.0(fourth edition) 하며 XML 1.0에서 네임 스페이스 (세 번째 버전) 권장 사항입니다.This class conforms to the W3C Extensible Markup Language (XML) 1.0 (fourth edition) and the Namespaces in XML 1.0 (third edition) recommendations.

XmlReader 메서드를 사용 하 여 XML 데이터를 탐색 하 고 노드의 내용을 읽을 수 있습니다.XmlReader methods let you move through XML data and read the contents of a node. 클래스의 속성을 판독기 위치는 현재 노드의 값을 반영 합니다. ReadState 속성 값은 XML 판독기의 현재 상태를 나타냅니다.The properties of the class reflect the value of the current node, which is where the reader is positioned.The ReadState property value indicates the current state of the XML reader. 속성으로 예를 들어 ReadState.Initial 여는 XmlReader.Read 메서드 및 ReadState.Closed 하 여는 XmlReader.Close 메서드.For example, the property is set to ReadState.Initial by the XmlReader.Read method and ReadState.Closed by the XmlReader.Close method. XmlReader 또한 데이터 규칙 검사 및 DTD 또는 스키마에 대해 유효성 검사를 제공합니다.XmlReader also provides data conformance checks and validation against a DTD or schema.

XmlReader 데이터를 검색 하는 끌어오기 모델을 사용 합니다.XmlReader uses a pull model to retrieve data. 이 모델:This model:

  • 상태 관리를 자연스럽 고 위에서 아래로 하향 프로시저 방식을 간소화합니다.Simplifies state management by a natural, top-down procedural refinement.

  • 여러 입력된 스트림 및 계층화를 지원합니다.Supports multiple input streams and layering.

  • 클라이언트 쪽을 문자열 직접 기록 및 따라서 복사본을 다른 문자열의 필요성을 방지 하는 버퍼를 파서에 제공할 수 있습니다.Enables the client to give the parser a buffer into which the string is directly written, and thus avoids the necessity of an extra string copy.

  • 선택적 처리를 지원 합니다.Supports selective processing. 클라이언트 항목을 건너뛰고 응용 프로그램에 관심 있는 것을 처리 합니다.The client can skip items and process those that are of interest to the application. 또한 (예: 표준화) XML 스트림이 처리 되는 방식을 관리 하는 사전에 속성을 설정할 수 있습니다.You can also set properties in advance to manage how the XML stream is processed (for example, normalization).

섹션 내용In this section:

XML 판독기 만들기 Creating an XML reader
XML 데이터 유효성 검사 Validating XML data
데이터 규칙 Data conformance
노드 탐색 Navigating through nodes
읽을 XML 요소 Reading XML elements
읽을 XML 특성 Reading XML attributes
읽을 XML 콘텐츠 Reading XML content
CLR 형식으로 변환 Converting to CLR types
비동기 프로그래밍 Asynchronous programming
보안 고려 사항Security considerations

XML 판독기 만들기Creating an XML reader

사용 된 Create 메서드를는 XmlReader 인스턴스.Use the Create method to create an XmlReader instance.

.NET Framework의 구체적 구현을 제공 하지만 XmlReader 와 같은 클래스를 XmlTextReader, XmlNodeReader, 및 XmlValidatingReader 클래스 좋습니다 특수 한 클래스를 사용 하 여 이러한 시나리오에만:Although the .NET Framework provides concrete implementations of the XmlReader class, such as the XmlTextReader, XmlNodeReader, and the XmlValidatingReader classes, we recommend that you use the specialized classes only in these scenarios:

  • XML DOM 하위 트리를 읽고 싶은 경우는 XmlNode 개체는 XmlNodeReader 클래스입니다.When you want to read an XML DOM subtree from an XmlNode object, use the XmlNodeReader class. 그러나 (이 클래스 지원 하지 않습니다 DTD 또는 스키마 유효성 검사 합니다.)(However, this class doesn't support DTD or schema validation.)

  • 요청 시 엔터티를 확장 해야, 없는 텍스트 콘텐츠 정규화 하거나 기본 반환 하는 특성을 사용 하지 않으려면는 XmlTextReader 클래스입니다.If you must expand entities on request, you don't want your text content normalized, or you don't want default attributes returned, use the XmlTextReader class.

XML 판독기에서 사용 하도록 설정 하려는 기능의 집합을 지정 하려면를 System.Xml.XmlReaderSettings 개체는 Create 메서드.To specify the set of features you want to enable on the XML reader, pass an System.Xml.XmlReaderSettings object to the Create method. 단일을 사용할 수 있습니다 System.Xml.XmlReaderSettings 같은 기능을 갖춘 여러 판독기를 만들 개체 또는 수정 된 System.Xml.XmlReaderSettings 다양 한 기능을 사용 하 여 새 판독기를 만들 개체입니다.You can use a single System.Xml.XmlReaderSettings object to create multiple readers with the same functionality, or modify the System.Xml.XmlReaderSettings object to create a new reader with a different set of features. 또한 기존 판독기에 기능을 추가할 수 있습니다.You can also easily add features to an existing reader.

사용 하지 않는 경우는 System.Xml.XmlReaderSettings 개체를 기본 설정이 사용 됩니다.If you don't use a System.Xml.XmlReaderSettings object, default settings are used. 참조 된 Create 세부 정보에 대 한 참조 페이지입니다.See the Create reference page for details.

XmlReader throw는 XmlException xml 구문 분석 오류입니다.XmlReader throws an XmlException on XML parse errors. 예외가 throw 되 면 판독기의 상태 예측 가능한 아닙니다.After an exception is thrown, the state of the reader is not predictable. 예를 들어, 보고 된 노드 유형을 현재 노드의 실제 노드 형식과 다를 수 있습니다.For example, the reported node type may be different from the actual node type of the current node. 사용 된 ReadState 판독기가 오류 상태에 있는지 여부를 확인할 속성입니다.Use the ReadState property to check whether the reader is in error state.

XML 데이터 유효성 검사Validating XML data

XML 문서 요소 관계, 데이터 형식 및 내용 제약 조건의 구조를 정의 하려면 문서 유형 정의 (DTD) 또는 XML 스키마 정의 언어 (XSD)를 사용 합니다.To define the structure of an XML document and its element relationships, data types, and content constraints, you use a document type definition (DTD) or XML Schema definition language (XSD) schema. XML 문서에서 정의한 한 모든 구문 요구 사항을 충족 하는 경우에 잘 구성 되려면 것으로 간주 됩니다 합니다 W3C XML 1.0 Recommendation합니다.An XML document is considered to be well formed if it meets all the syntactical requirements defined by the W3C XML 1.0 Recommendation. 올바른 형식이 고 해당 DTD 또는 스키마에 정의 된 제약 조건에도 부합 하는 경우 유효한 간주 됩니다.It's considered valid if it's well formed and also conforms to the constraints defined by its DTD or schema. (참조를 W3C XML Schema Part 1: 구조 하며 W3C XML Schema Part 2: Datatypes 권장 사항입니다.) 그러므로 유효한 모든 XML 문서가 제대로 구성되었더라도 제대로 구성된 XML 문서가 모두 유효한 것은 아닙니다.(See the W3C XML Schema Part 1: Structures and the W3C XML Schema Part 2: Datatypes recommendations.) Therefore, although all valid XML documents are well formed, not all well-formed XML documents are valid.

인라인 XSD 스키마에서 DTD에 대 한 데이터를 확인할 수 있습니다 또는 XSD 스키마에 저장 된는 XmlSchemaSet 개체 (캐시);에서 이러한 시나리오를 설명 하는 Create 참조 페이지.You can validate the data against a DTD, an inline XSD Schema, or an XSD Schema stored in an XmlSchemaSet object (a cache); these scenarios are described on the Create reference page. XmlReader Xml-data Reduced (XDR) 스키마 유효성 검사를 지원 하지 않습니다.XmlReader doesn't support XML-Data Reduced (XDR) schema validation.

다음 설정을 사용 합니다 XmlReaderSettings 있으면 유효성 검사의 유형을 지정 하는 클래스는 XmlReader 인스턴스 지원 합니다.You use the following settings on the XmlReaderSettings class to specify what type of validation, if any, the XmlReader instance supports.

이 사용 하 여 XmlReaderSettings 멤버Use this XmlReaderSettings member 지정할 함수To specify
DtdProcessing 속성DtdProcessing property DTD 처리를 허용할지 여부를 나타냅니다.Whether to allow DTD processing. 기본값은 DTD 처리를 허용하지 않는 것입니다.The default is to disallow DTD processing.
ValidationType 속성ValidationType property 판독기 데이터의 유효성을 검사 해야 하는지 여부 및 어떤 유형의 (DTD 또는 스키마)를 수행할 유효성 검사 합니다.Whether the reader should validate data, and what type of validation to perform (DTD or schema). 기본값은 데이터 유효성 검사를 수행하지 않는 것입니다.The default is no data validation.
ValidationEventHandler 이벤트ValidationEventHandler event 유효성 검사 이벤트에 대 한 정보를 받기 위해 이벤트 처리기입니다.An event handler for receiving information about validation events. 이벤트 처리기를 지정하지 않으면 첫 번째 유효성 검사 오류에서 XmlException이 throw됩니다.If an event handler is not provided, an XmlException is thrown on the first validation error.
ValidationFlags 속성ValidationFlags property 통해 추가 유효성 검사 옵션은 XmlSchemaValidationFlags 열거형 멤버:Additional validation options through the XmlSchemaValidationFlags enumeration members:

- AllowXmlAttributes--XML 특성을 허용 하는 중 (xml:*) 스키마에 정의 되어 있지는 경우에 인스턴스 문서에 있습니다.- AllowXmlAttributes-- Allow XML attributes (xml:*) in instance documents even when they're not defined in the schema. 데이터 형식을 기준으로 특성의 유효성이 검사됩니다.The attributes are validated based on their data type. 참조 된 XmlSchemaValidationFlags 특정 시나리오에서 사용 하는 설정에 대 한 참조 페이지입니다.See the XmlSchemaValidationFlags reference page for the setting to use in specific scenarios. (기본적으로 해제 합니다.)(Disabled by default.)
- ProcessIdentityConstraints -프로세스 id 제약 조건 (xs:ID, xs:IDREFxs:key합니다 xs:keyref, xs:unique) 유효성 검사 중 발생 합니다.- ProcessIdentityConstraints --Process identity constraints (xs:ID, xs:IDREF, xs:key, xs:keyref, xs:unique) encountered during validation. (기본적으로 사용 합니다.)(Enabled by default.)
- ProcessSchemaLocation -지정 된 스키마를 처리 합니다 xsi:schemaLocation 또는 xsi:noNamespaceSchemaLocation 특성입니다.- ProcessSchemaLocation --Process schemas specified by the xsi:schemaLocation or xsi:noNamespaceSchemaLocation attribute. (기본적으로 사용 합니다.)(Enabled by default.)
- ProcessInlineSchema-유효성 검사 중 인라인 XML 스키마를 처리 합니다.- ProcessInlineSchema-- Process inline XML Schemas during validation. (기본적으로 해제 합니다.)(Disabled by default.)
- ReportValidationWarnings-유효성 검사 경고가 발생 하면 이벤트를 보고 합니다.- ReportValidationWarnings--Report events if a validation warning occurs. 일반적으로 특정 요소나 특성을 유효성 검사하기 위한 DTD 또는 XML 스키마가 없을 경우 경고가 발생합니다.A warning is typically issued when there is no DTD or XML Schema to validate a particular element or attribute against. 알림에는 ValidationEventHandler가 사용됩니다.The ValidationEventHandler is used for notification. (기본적으로 해제 합니다.)(Disabled by default.)
Schemas 유효성 검사에 사용할 XmlSchemaSet입니다.The XmlSchemaSet to use for validation.
XmlResolver 속성XmlResolver property XmlResolver 확인 하 고 외부 리소스에 액세스 합니다.The XmlResolver for resolving and accessing external resources. DTD 및 스키마와 같은 외부 엔터티에 포함할 수 있습니다 xs:include 또는 xs:import XML 스키마에 포함 된 요소입니다.This can include external entities such as DTD and schemas, and any xs:include or xs:import elements contained in the XML Schema. 지정 하지 않으면를 XmlResolverXmlReader 기본값을 사용 하 여 XmlUrlResolver 사용자 자격 증명 없이 합니다.If you don't specify an XmlResolver, the XmlReader uses a default XmlUrlResolver with no user credentials.

데이터 규칙Data conformance

만든 XML 판독기를 Create 메서드는 기본적으로 다음 규정 준수 요구 사항을 충족 합니다.XML readers that are created by the Create method meet the following compliance requirements by default:

  • 새 줄 및 특성 값은 W3C에 따라 정규화 됩니다 XML 1.0 권장 사항합니다.New lines and attribute value are normalized according to the W3C XML 1.0 Recommendation.

  • 모든 엔터티가 자동으로 확장 됩니다.All entities are automatically expanded.

  • 문서 종류 정의에서 선언 된 기본 특성은 판독기의 유효성을 검사 하지 않습니다 하는 경우에 항상 추가 됩니다.Default attributes declared in the document type definition are always added even when the reader doesn't validate.

  • 올바른 XML 네임 스페이스 URI에 매핑되는 XML 접두사는 선언 허용 됩니다.Declaration of XML prefix mapped to the correct XML namespace URI is allowed.

  • 표기법 이름을 단일에서 NotationType 특성 선언 하 고 NmTokens 단일에서 Enumeration 특성 선언에는 서로 다릅니다.The notation names in a single NotationType attribute declaration and NmTokens in a single Enumeration attribute declaration are distinct.

이 사용 하 여 XmlReaderSettings 규칙의 형식을 확인 하면를 지정 하는 속성을 사용 하도록 설정 하려면:Use these XmlReaderSettings properties to specify the type of conformance checks you want to enable:

이 사용 하 여 XmlReaderSettings 속성Use this XmlReaderSettings property 대상To 기본Default
CheckCharacters 속성CheckCharacters property 다음에 대 한 검사를 사용할지 설정:Enable or disable checks for the following:

자 정의 된 대로 유효한 XML 문자 범위 내에 2.2 문자 W3C XML 1.0 Recommendation의 섹션입니다.- Characters are within the range of legal XML characters, as defined by the 2.2 Characters section of the W3C XML 1.0 Recommendation.
-모든 XML 이름이 유효 하 여 정의 된 대로 합니다 2.3 Common Syntactic Constructs W3C XML 1.0 Recommendation의 섹션입니다.- All XML names are valid, as defined by the 2.3 Common Syntactic Constructs section of the W3C XML 1.0 Recommendation.

이 속성 설정 된 경우 true (기본값)는 XmlException XML 파일에 잘못 된 문자 또는 잘못 된 XML 이름을 포함 하는 경우 예외가 throw 됩니다 (예를 들어 요소 이름이 숫자로 시작할).When this property is set to true (default), an XmlException exception is thrown if the XML file contains illegal characters or invalid XML names (for example, an element name starts with a number).
문자 및 이름 확인이 사용 됩니다.Character and name checking is enabled.

CheckCharactersfalse로 설정하면 문자 엔터티 참조에 대해 문자 검사가 수행되지 않습니다.Setting CheckCharacters to false turns off character checking for character entity references. 판독기가 텍스트 데이터를 처리 하는 경우에 항상 XML 이름이이 설정에 관계 없이 유효한 지 확인 합니다.If the reader is processing text data, it always checks that XML names are valid, regardless of this setting. 참고: DTD가 있을 경우 XML 1.0 권장 사항에서는 문서 수준 규칙을 요구 합니다.Note: The XML 1.0 recommendation requires document-level conformance when a DTD is present. 따라서 판독기 지원 하도록 구성 된 경우 ConformanceLevel.Fragment, 문서 형식 정의 (DTD)를 포함 하는 XML 데이터는 XmlException throw 됩니다.Therefore, if the reader is configured to support ConformanceLevel.Fragment, but the XML data contains a document type definition (DTD), an XmlException is thrown.
ConformanceLevel 속성ConformanceLevel property 적용할 규칙 수준을 선택 합니다.Choose the level of conformance to enforce:

- Document.- Document. 에 대 한 규칙을 준수 하는 올바른 형식의 XML 1.0 문서합니다.Conforms to the rules for a well-formed XML 1.0 document.
- Fragment.- Fragment. 로 사용할 수 있는 올바른 형식의 문서 조각에 대 한 규칙을 준수 하는 외부 엔터티를 구문 분석합니다.Conforms to the rules for a well-formed document fragment that can be consumed as an external parsed entity.
- Auto.- Auto. 판독기에 의해 결정 되며 수준을 따릅니다.Conforms to the level decided by the reader.

에 데이터가 없으면는 XmlException 예외가 throw 됩니다.If the data isn't in conformance, an XmlException exception is thrown.
Document

현재 노드는 XML 판독기가 현재 있는 위치 XML 노드입니다.The current node is the XML node on which the XML reader is currently positioned. 모든 XmlReader 메서드는이 노드 및 모든 관련 된 작업을 수행할 XmlReader 속성은 현재 노드의 값을 반영 합니다.All XmlReader methods perform operations in relation to this node, and all XmlReader properties reflect the value of the current node.

다음 메서드를 사용 하면 쉽게 노드를 탐색 하 고 데이터를 구문 분석에 있습니다.The following methods make it easy to navigate through nodes and parse data.

이 사용 하 여 XmlReaderSettings 메서드Use this XmlReaderSettings method 대상To
Read 첫 번째 노드를 읽고 스트림 하나의 노드를 통해 한 번에 이동 합니다.Read the first node, and advance through the stream one node at a time. 이러한 호출 내에서 일반적으로 수행 되는 while 루프입니다.Such calls are typically performed inside a while loop.

사용 된 NodeType 현재 노드의 형식 (예: 특성, 주석, 요소 및 등)를 가져올 속성입니다.Use the NodeType property to get the type (for example, attribute, comment, element, and so on) of the current node.
Skip 현재 노드의 자식을 건너뛰고 노드로 이동 합니다.Skip the children of the current node and move to the next node.
MoveToContentMoveToContentAsyncMoveToContent and MoveToContentAsync 콘텐츠가 아닌 노드를 건너뛰고 콘텐츠 노드가 또는 파일의 끝을 이동 합니다.Skip non-content nodes and move to the next content node or to the end of the file.

비 콘텐츠 노드에 포함 ProcessingInstruction, DocumentType, Comment합니다 Whitespace, 및 SignificantWhitespace합니다.Non-content nodes include ProcessingInstruction, DocumentType, Comment, Whitespace, and SignificantWhitespace.

노드에 포함 공백 없는 텍스트 콘텐츠 CDATA, EntityReference , 및 EndEntity합니다.Content nodes include non-white space text, CDATA, EntityReference , and EndEntity.
ReadSubtree 요소를 읽고 모든 자식 및 새 반환 XmlReader 로 설정 인스턴스입니다 ReadState.Initial합니다.Read an element and all its children, and return a new XmlReader instance set to ReadState.Initial.

이 메서드는 XML 요소 주위에 경계를 만드는 데 유용 예를 들어, 데이터 처리에 대 한 다른 구성 요소를 전달 하 고 데이터의 양을 제한 하려면 구성 요소 액세스할 수 있습니다.This method is useful for creating boundaries around XML elements; for example, if you want to pass data to another component for processing and you want to limit how much of your data the component can access.

참조 된 XmlReader.Read 한 번에 텍스트 스트림 하나의 노드를 탐색 하 고 각 노드 유형의 표시의 예 참조 페이지입니다.See the XmlReader.Read reference page for an example of navigating through a text stream one node at a time and displaying the type of each node.

다음 섹션에서는 특정 유형의 요소, 특성 등의 데이터를 읽는 방법을 설명 하 고 형식화 된 데이터입니다.The following sections describe how you can read specific types of data, such as elements, attributes, and typed data.

읽을 XML 요소Reading XML elements

다음 표에서 메서드 및 속성을 나열 하는 XmlReader 요소를 처리 하기 위한 클래스를 제공 합니다.The following table lists the methods and properties that the XmlReader class provides for processing elements. XmlReader가 요소에 있는 경우 Name과 같은 노드 속성은 이 요소의 값을 반영합니다.After the XmlReader is positioned on an element, the node properties, such as Name, reflect the element values. 아래 설명된 멤버 외에도 XmlReader 클래스의 일반 메서드 및 속성을 사용하여 요소를 처리할 수 있습니다.In addition to the members described below, any of the general methods and properties of the XmlReader class can also be used to process elements. 예를 들어, ReadInnerXml 메서드를 사용하여 요소 내용을 읽을 수 있습니다.For example, you can use the ReadInnerXml method to read the contents of an element.

참고

3.1의 섹션을 참조 합니다 W3C XML 1.0 Recommendation 시작 태그의 정의 태그 및 빈 요소 태그를 종료 합니다.See section 3.1 of the W3C XML 1.0 Recommendation for definitions of start tags, end tags, and empty element tags.

이 사용 하 여 XmlReader 멤버Use this XmlReader member 대상To
IsStartElement 메서드IsStartElement method 현재 노드가 시작 태그 또는 빈 요소 태그 인지 확인 합니다.Check if the current node is a start tag or an empty element tag.
ReadStartElement 메서드ReadStartElement method 현재 노드가 요소 인지 확인 하 고 판독기를 다음 노드로 진행 (호출 IsStartElement 뒤에 Read).Check that the current node is an element and advance the reader to the next node (calls IsStartElement followed by Read).
ReadEndElement 메서드ReadEndElement method 현재 노드가 끝 태그 인지 확인 하 고 판독기를 다음 노드로 진행 합니다.Check that the current node is an end tag and advance the reader to the next node.
ReadElementString 메서드ReadElementString method 텍스트 전용 요소를 읽습니다.Read a text-only element.
ReadToDescendant 메서드ReadToDescendant method 지정 된 이름을 가진 하위 항목 (자식) 요소 다음에 XML 판독기를 이동 합니다.Advance the XML reader to the next descendant (child) element that has the specified name.
ReadToNextSibling 메서드ReadToNextSibling method XML 판독기를 지정 된 이름을 가진 다음 형제 요소로 진행 합니다.Advance the XML reader to the next sibling element that has the specified name.
IsEmptyElement 속성IsEmptyElement property 현재 요소에 끝 요소 태그가 있는지 확인 합니다.Check if the current element has an end element tag. 예:For example:

- <item num="123"/> (IsEmptyElementtrue.)- <item num="123"/> (IsEmptyElement is true.)
- <item num="123"> </item> (IsEmptyElementfalse이지만 요소의 콘텐츠가 비어 있습니다.)- <item num="123"> </item> (IsEmptyElement is false, although the element's content is empty.)

요소의 텍스트 콘텐츠를 읽는 예제를 참조 하세요.를 ReadString 메서드.For an example of reading the text content of elements, see the ReadString method. 다음 예제에서는 요소를 사용 하 여 처리를 while 루프입니다.The following example processes elements by using a while loop.

while (reader.Read()) {
  if (reader.IsStartElement()) {
    if (reader.IsEmptyElement)
      Console.WriteLine("<{0}/>", reader.Name);
    else {
      Console.Write("<{0}> ", reader.Name);
      reader.Read(); // Read the start tag.
      if (reader.IsStartElement())  // Handle nested elements.
        Console.Write("\r\n<{0}>", reader.Name);
      Console.WriteLine(reader.ReadString());  //Read the text content of the element.
    }
  } 
} 
While reader.Read()
  If reader.IsStartElement() Then
    If reader.IsEmptyElement Then
      Console.WriteLine("<{0}/>", reader.Name)
    Else
      Console.Write("<{0}> ", reader.Name)
      reader.Read() ' Read the start tag.
      If reader.IsStartElement() Then ' Handle nested elements.
        Console.Write(vbCr + vbLf + "<{0}>", reader.Name)
      End If
      Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
    End If
  End If
End While

읽을 XML 특성Reading XML attributes

XML 특성은 가장 일반적으로 요소에 찾았지만 XML 선언 및 문서 형식 노드에서도 사용할 수는 있습니다.XML attributes are most commonly found on elements, but they're also allowed on XML declaration and document type nodes.

요소 노드에 있을 경우는 MoveToAttribute 메서드를 사용 하면 요소의 특성 목록을 통해 이동 합니다.When positioned on an element node, the MoveToAttribute method lets you go through the attribute list of the element. 후 유의 MoveToAttribute 가 호출 된 노드 속성과 같은 Name, NamespaceURI, 및 Prefix 특성 요소의 속성이 아니라 속한, 해당 특성의 속성을 반영 합니다.Note that after MoveToAttribute has been called, node properties such as Name, NamespaceURI, and Prefix reflect the properties of that attribute, not the properties of the element the attribute belongs to.

XmlReader 클래스는 이러한 메서드 및 속성을 읽고 요소에 특성 처리를 제공 합니다.The XmlReader class provides these methods and properties to read and process attributes on elements.

이 사용 하 여 XmlReader 멤버Use this XmlReader member 대상To
HasAttributes 속성HasAttributes property 현재 노드에 특성이 있는지 여부를 확인 합니다.Check whether the current node has any attributes.
AttributeCount 속성AttributeCount property 현재 요소에 특성의 수를 가져옵니다.Get the number of attributes on the current element.
MoveToFirstAttribute 메서드MoveToFirstAttribute method 요소에서 첫 번째 특성으로 이동 합니다.Move to the first attribute in an element.
MoveToNextAttribute 메서드MoveToNextAttribute method 요소에 다음 특성으로 이동 합니다.Move to the next attribute in an element.
MoveToAttribute 메서드MoveToAttribute method 지정된 된 특성으로 이동 합니다.Move to a specified attribute.
GetAttribute 메서드 또는 Item[String, String] 속성GetAttribute method or Item[String, String] property 지정된 된 특성의 값을 가져옵니다.Get the value of a specified attribute.
IsDefault 속성IsDefault property 현재 노드가 DTD 나 스키마에서 정의한 기본값에서 생성 된 특성 인지 여부를 확인 합니다.Check whether the current node is an attribute that was generated from the default value defined in the DTD or schema.
MoveToElement 메서드MoveToElement method 현재 특성이 있는 요소로 이동 합니다.Move to the element that owns the current attribute. 이 메서드를 사용 하 여 해당 특성을 통해 이동한 후 요소 돌아갑니다.Use this method to return to an element after navigating through its attributes.
ReadAttributeValue 메서드ReadAttributeValue method 하나 이상의 특성 값을 구문 분석할 Text, EntityReference, 또는 EndEntity 노드.Parse the attribute value into one or more Text, EntityReference, or EndEntity nodes.

또한 일반 XmlReader 메서드 및 속성을 사용하여 특성을 처리할 수 있습니다.Any of the general XmlReader methods and properties can also be used to process attributes. 예를 들어, 특성에 XmlReader를 배치한 후 NameValue 속성은 이 특성 값을 반영합니다.For example, after the XmlReader is positioned on an attribute, the Name and Value properties reflect the values of the attribute. 내용 Read 메서드를 사용하여 특성 값을 얻을 수도 있습니다.You can also use any of the content Read methods to get the value of the attribute.

이 예제에서는 AttributeCount 속성 요소에는 모든 속성을 통해 이동 합니다.This example uses the AttributeCount property to navigate through all the attributes on an element.

// Display all attributes.
if (reader.HasAttributes) {
  Console.WriteLine("Attributes of <" + reader.Name + ">");
  for (int i = 0; i < reader.AttributeCount; i++) {
    Console.WriteLine("  {0}", reader[i]);
  }
  // Move the reader back to the element node.
  reader.MoveToElement(); 
}
' Display all attributes.
If reader.HasAttributes Then
  Console.WriteLine("Attributes of <" + reader.Name + ">")
  Dim i As Integer
  For i = 0 To (reader.AttributeCount - 1)
    Console.WriteLine("  {0}", reader(i))
  Next i
  ' Move the reader back to the element node.
  reader.MoveToElement() 
End If

이 예제에서는 합니다 MoveToNextAttribute 의 메서드를 while 특성을 통해 탐색 하는 루프입니다.This example uses the MoveToNextAttribute method in a while loop to navigate through the attributes.

if (reader.HasAttributes) {
  Console.WriteLine("Attributes of <" + reader.Name + ">");
  while (reader.MoveToNextAttribute()) {
    Console.WriteLine(" {0}={1}", reader.Name, reader.Value);
  }
  // Move the reader back to the element node.
  reader.MoveToElement();
}
If reader.HasAttributes Then
  Console.WriteLine("Attributes of <" + reader.Name + ">")
  While reader.MoveToNextAttribute()
    Console.WriteLine(" {0}={1}", reader.Name, reader.Value)
  End While
  ' Move the reader back to the element node.
  reader.MoveToElement()
End If

XML 선언 노드에 특성 읽기Reading attributes on XML declaration nodes

XML 선언 노드에 XML 판독기가 배치 하는 경우는 Value 속성 버전, 독립 실행형 및 인코딩 정보를 단일 문자열로 반환 합니다.When the XML reader is positioned on an XML declaration node, the Value property returns the version, standalone, and encoding information as a single string. XmlReader 가 만든 개체를 Create 메서드를 XmlTextReader 클래스 및 XmlValidatingReader 버전, 독립 실행형 및 인코딩 항목을 특성으로 클래스를 노출 합니다.XmlReader objects created by the Create method, the XmlTextReader class, and the XmlValidatingReader class expose the version, standalone, and encoding items as attributes.

문서 유형 노드 특성 읽기Reading attributes on document type nodes

문서 형식 노드에 XML 판독기가 배치 하는 경우는 GetAttribute 메서드 및 Item[String, String] SYSTEM 및 PUBLIC 리터럴에 대 한 값을 반환 하도록 속성을 사용할 수 있습니다.When the XML reader is positioned on a document type node, the GetAttribute method and Item[String, String] property can be used to return the values for the SYSTEM and PUBLIC literals. 예를 들어, reader.GetAttribute("PUBLIC")를 호출하면 PUBLIC 값이 반환됩니다.For example, calling reader.GetAttribute("PUBLIC") returns the PUBLIC value.

처리 명령 노드 특성을 읽는 중Reading attributes on processing instruction nodes

처리 명령 노드에 XmlReader를 배치하면 Value 속성은 전체 텍스트 내용을 반환합니다.When the XmlReader is positioned on a processing instruction node, the Value property returns the entire text content. 처리 명령 노드의 항목 특성으로 간주 되지 않습니다.Items in the processing instruction node aren't treated as attributes. 사용 하 여 읽을 수 없습니다는 GetAttribute 또는 MoveToAttribute 메서드.They can't be read with the GetAttribute or MoveToAttribute method.

읽을 XML 콘텐츠Reading XML content

XMLReader 클래스에는 XML 파일에서 콘텐츠를 읽기 및 문자열 값으로 콘텐츠를 반환 하는 다음 멤버도 포함 됩니다.The XMLReader class includes the following members that read content from an XML file and return the content as string values. (CLR 형식을 반환할 참조 된 다음 섹션.)(To return CLR types, see the next section.)

이 사용 하 여 XmlReader 멤버Use this XmlReader member 대상To
Value 속성Value property 현재 노드의 텍스트 콘텐츠를 가져옵니다.Get the text content of the current node. 반환 되는 값 노드 형식에 따라 다릅니다. 참조 된 Value 세부 정보에 대 한 참조 페이지입니다.The value returned depends on the node type; see the Value reference page for details.
ReadString 메서드ReadString method 요소 또는 텍스트 노드의 내용을 문자열로 가져옵니다.Get the content of an element or text node as a string. 이 메서드는 처리 명령과 주석에서 중지 합니다.This method stops on processing instructions and comments.

이 메서드가 특정 노드 형식을 처리 하는 방법에 대 한 내용은 참조는 ReadString 참조 페이지입니다.For details on how this method handles specific node types, see the ReadString reference page.
ReadInnerXmlReadInnerXmlAsync 메서드ReadInnerXml and ReadInnerXmlAsync methods 현재 노드를 시작 및 끝 태그를 제외한 태그를 포함 한 모든 콘텐츠를 가져옵니다.Get all the content of the current node, including the markup, but excluding start and end tags. 예를 들어:For example, for:

<node>this<child id="123"/></node>

ReadInnerXml 이 반환 됩니다.ReadInnerXml returns:

this<child id="123"/>
ReadOuterXmlReadOuterXmlAsync 메서드ReadOuterXml and ReadOuterXmlAsync methods 현재 노드와 해당 자식에 태그 및 시작/끝 태그를 포함 하 여 모든 콘텐츠를 가져옵니다.Get all the content of the current node and its children, including markup and start/end tags. 예를 들어:For example, for:

<node>this<child id="123"/></node>

ReadOuterXml 이 반환 됩니다.ReadOuterXml returns:

<node>this<child id="123"/></node>

CLR 형식으로 변환Converting to CLR types

멤버를 사용할 수는 XmlReader (다음 표에 나열 된) 클래스를 XML 데이터를 읽고 문자열 대신 런타임 (CLR) 형식으로 공용 언어 값을 반환 합니다.You can use the members of the XmlReader class (listed in the following table) to read XML data and return values as common language runtime (CLR) types instead of strings. 이러한 멤버를 사용 하면 수동으로 구문 분석 하거나 문자열 값을 변환할 필요 없이 코딩 작업에 가장 적합 한 표현으로 값을 가져올 수 있습니다.These members enable you to get values in the representation that is most appropriate for your coding task without having to manually parse or convert string values.

  • 합니다 ReadElementContentAs 메서드 요소 노드 형식 에서만 호출할 수 있습니다.The ReadElementContentAs methods can only be called on element node types. 자식 요소 또는 혼합 내용이 포함된 요소에서는 사용할 수 없습니다.These methods cannot be used on elements that contain child elements or mixed content. 호출할 경우 XmlReader 개체는 시작 태그를 읽고 요소 내용을 읽은 다음 끝 요소 태그를 지나서 이동합니다.When called, the XmlReader object reads the start tag, reads the element content, and then moves past the end element tag. 처리 명령과 주석은 무시되며 엔터티는 확장됩니다.Processing instructions and comments are ignored and entities are expanded.

  • 합니다 ReadContentAs 메서드는 현재 판독기 위치에서 텍스트 콘텐츠를 읽고 XML 데이터 형식 정보를 사용 하 여 연결 된 데이터 나 스키마가 없는 경우 텍스트 콘텐츠를 요청된 된 반환 형식으로 변환 합니다.The ReadContentAs methods read the text content at the current reader position, and if the XML data doesn't have any schema or data type information associated with it, convert the text content to the requested return type. 텍스트, 공백, 유효 공백 및 CDATA 섹션이 연결됩니다.Text, white space, significant white space and CDATA sections are concatenated. 주석 및 처리 지침을 건너뛰고 지정 된 엔터티 참조는 자동으로 확인 합니다.Comments and processing instructions are skipped, and entity references are automatically resolved.

합니다 XmlReader 정의한 규칙을 사용 하는 클래스를 W3C XML Schema Part 2: Datatypes 권장 사항입니다.The XmlReader class uses the rules defined by the W3C XML Schema Part 2: Datatypes recommendation.

이 사용 하 여 XmlReader 메서드Use this XmlReader method 이 CLR 유형을 반환 하려면To return this CLR type
ReadContentAsBooleanReadElementContentAsBooleanReadContentAsBoolean and ReadElementContentAsBoolean Boolean
ReadContentAsDateTimeReadElementContentAsDateTimeReadContentAsDateTime and ReadElementContentAsDateTime DateTime
ReadContentAsDoubleReadElementContentAsDoubleReadContentAsDouble and ReadElementContentAsDouble Double
ReadContentAsLongReadElementContentAsLongReadContentAsLong and ReadElementContentAsLong Int64
ReadContentAsIntReadElementContentAsIntReadContentAsInt and ReadElementContentAsInt Int32
ReadContentAsStringReadElementContentAsStringReadContentAsString and ReadElementContentAsString String
ReadContentAsReadElementContentAsReadContentAs and ReadElementContentAs 사용 하 여 지정한 유형의 returnType 매개 변수The type you specify with the returnType parameter
ReadContentAsObjectReadElementContentAsObjectReadContentAsObject and ReadElementContentAsObject 지정 된 대로 가장 적절 한 형식에는 XmlReader.ValueType 속성입니다.The most appropriate type, as specified by the XmlReader.ValueType property. 참조 System.Xml 클래스의 형식 지원 매핑 정보에 대 한 합니다.See Type Support in the System.Xml Classes for mapping information.

쉽게 요소 형식으로 인해 CLR 형식으로 변환할 수 없는, 경우에 성공적으로 변환 되도록 스키마 매핑을 사용할 수 있습니다.If an element can't easily be converted to a CLR type because of its format, you can use a schema mapping to ensure a successful conversion. 다음 예제에서는.xsd 파일을 사용 하 여 변환 하는 hire-date 요소를를 xs:date 유형 및 사용 하 여는 ReadElementContentAsDateTime 으로 요소를 반환 하는 방법을 DateTime 개체.The following example uses an .xsd file to convert the hire-date element to the xs:date type, and then uses the ReadElementContentAsDateTime method to return the element as a DateTime object.

입력 (에서는 hireDate.xml):Input (hireDate.xml):

<employee xmlns="urn:empl-hire">
    <ID>12365</ID>
    <hire-date>2003-01-08</hire-date>
    <title>Accountant</title>
</employee>

스키마 (hireDate.xsd):Schema (hireDate.xsd):

<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:empl-hire" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="employee">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ID" type="xs:unsignedShort" />
        <xs:element name="hire-date" type="xs:date" />
        <xs:element name="title" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

코드:Code:

// Create a validating XmlReader object. The schema 
// provides the necessary type information.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas.Add("urn:empl-hire", "hireDate.xsd");
using (XmlReader reader = XmlReader.Create("hireDate.xml", settings)) {

  // Move to the hire-date element.
  reader.MoveToContent();
  reader.ReadToDescendant("hire-date");

  // Return the hire-date as a DateTime object.
  DateTime hireDate = reader.ReadElementContentAsDateTime();
  Console.WriteLine("Six Month Review Date: {0}", hireDate.AddMonths(6));
}
' Create a validating XmlReader object. The schema 
' provides the necessary type information.
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas.Add("urn:empl-hire", "hireDate.xsd")
Using reader As XmlReader = XmlReader.Create("hireDate.xml", settings) 
  ' Move to the hire-date element.
  reader.MoveToContent()
  reader.ReadToDescendant("hire-date")

  ' Return the hire-date as a DateTime object.
  Dim hireDate As DateTime = reader.ReadElementContentAsDateTime()
  Console.WriteLine("Six Month Review Date: {0}", hireDate.AddMonths(6))
End Using

출력:Output:

Six Month Review Date:  7/8/2003 12:00:00 AM  

비동기 프로그래밍Asynchronous programming

대부분의 XmlReader 메서드는 "Async" 메서드 이름의 끝에 있는 비동기 버전이 있으며 합니다.Most of the XmlReader methods have asynchronous counterparts that have "Async" at the end of their method names. 예를 들어, 비동기 ReadContentAsObjectReadContentAsObjectAsync합니다.For example, the asynchronous equivalent of ReadContentAsObject is ReadContentAsObjectAsync.

비동기 메서드 호출을 사용 하 여 다음 메서드를 사용할 수 있습니다.The following methods can be used with asynchronous method calls:

다음 섹션에서는 비동기 메서드인 없는 메서드에 대 한 비동기 사용량에 설명 합니다.The following sections describe asynchronous usage for methods that don't have asynchronous counterparts.

ReadStartElement 메서드ReadStartElement method

public static async Task ReadStartElementAsync(this XmlReader reader, string localname, string ns)
{
    if (await reader.MoveToContentAsync() != XmlNodeType.Element)
    {
        throw new InvalidOperationException(reader.NodeType.ToString() + " is an invalid XmlNodeType");
    }
    if ((reader.LocalName == localname) && (reader.NamespaceURI == ns))
    {
        await reader.ReadAsync();
    }
    else
    {
        throw new InvalidOperationException("localName or namespace doesn’t match");
    }
}
<Extension()>
Public Async Function ReadStartElementAsync(reader As XmlReader, localname As String, ns As String) As Task
    If (Await reader.MoveToContentAsync() <> XmlNodeType.Element) Then
        Throw New InvalidOperationException(reader.NodeType.ToString() + " is an invalid XmlNodeType")
    End If

    If ((reader.LocalName = localname) And (reader.NamespaceURI = ns)) Then
        Await reader.ReadAsync()
    Else
        Throw New InvalidOperationException("localName or namespace doesn’t match")
    End If
End Function

ReadEndElement 메서드ReadEndElement method

public static async Task ReadEndElementAsync(this XmlReader reader)
{
    if (await reader.MoveToContentAsync() != XmlNodeType.EndElement)
    {
        throw new InvalidOperationException();
    }
    await reader.ReadAsync();
}
<Extension()>
Public Async Function ReadEndElementAsync(reader As XmlReader) As task
    If (Await reader.MoveToContentAsync() <> XmlNodeType.EndElement) Then
        Throw New InvalidOperationException()
    End If
    Await reader.ReadAsync()
End Function

ReadToNextSibling 메서드ReadToNextSibling method

public static async Task<bool> ReadToNextSiblingAsync(this XmlReader reader, string localName, string namespaceURI)
{
    if (localName == null || localName.Length == 0)
    {
        throw new ArgumentException("localName is empty or null");
    }
    if (namespaceURI == null)
    {
        throw new ArgumentNullException("namespaceURI");
    }

    // atomize local name and namespace
    localName = reader.NameTable.Add(localName);
    namespaceURI = reader.NameTable.Add(namespaceURI);

    // find the next sibling
    XmlNodeType nt;
    do
    {
        await reader.SkipAsync();
        if (reader.ReadState != ReadState.Interactive)
            break;
        nt = reader.NodeType;
        if (nt == XmlNodeType.Element &&
             ((object)localName == (object)reader.LocalName) &&
             ((object)namespaceURI ==(object)reader.NamespaceURI))
        {
            return true;
        }
    } while (nt != XmlNodeType.EndElement && !reader.EOF);
    
    return false;
}
<Extension()>
Public Async Function ReadToNextSiblingAsync(reader As XmlReader, localName As String, namespaceURI As String) As Task(Of Boolean)
    If (localName = Nothing Or localName.Length = 0) Then
        Throw New ArgumentException("localName is empty or null")
    End If

    If (namespaceURI = Nothing) Then
        Throw New ArgumentNullException("namespaceURI")
    End If

    ' atomize local name and namespace
    localName = reader.NameTable.Add(localName)
    namespaceURI = reader.NameTable.Add(namespaceURI)

    ' find the next sibling
    Dim nt As XmlNodeType
    Do

        Await reader.SkipAsync()
        If (reader.ReadState <> ReadState.Interactive) Then
            Exit Do
        End If
        nt = reader.NodeType
        If ((nt = XmlNodeType.Element) And
           ((CObj(localName) = CObj(reader.LocalName))) And
           (CObj(namespaceURI) = CObj(reader.NamespaceURI))) Then
            Return True
        End If
    Loop While (nt <> XmlNodeType.EndElement And (Not reader.EOF))

    Return False

End Function

ReadToFollowing 메서드ReadToFollowing method

public static async Task<bool> ReadToFollowingAsync(this XmlReader reader, string localName, string namespaceURI)
{
    if (localName == null || localName.Length == 0)
    {
        throw new ArgumentException("localName is empty or null");
    }
    if (namespaceURI == null)
    {
        throw new ArgumentNullException("namespaceURI");
    }

    // atomize local name and namespace
    localName = reader.NameTable.Add(localName);
    namespaceURI = reader.NameTable.Add(namespaceURI);

    // find element with that name
    while (await reader.ReadAsync())
    {
        if (reader.NodeType == XmlNodeType.Element && ((object)localName == (object)reader.LocalName) && ((object)namespaceURI == (object)reader.NamespaceURI))
        {
            return true;
        }
    }
    return false;
}
<Extension()>
Public Async Function ReadToFollowingAsync(reader As XmlReader, localName As String, namespaceURI As String) As Task(Of Boolean)
    If (localName = Nothing Or localName.Length = 0) Then
        Throw New ArgumentException("localName is empty or null")
    End If

    If (namespaceURI = Nothing) Then
        Throw New ArgumentNullException("namespaceURI")
    End If

    ' atomize local name and namespace
    localName = reader.NameTable.Add(localName)
    namespaceURI = reader.NameTable.Add(namespaceURI)

    ' find element with that name
    While (Await reader.ReadAsync())
        If ((reader.NodeType = XmlNodeType.Element) And
           (CObj(localName) = CObj(reader.LocalName)) And
           (CObj(namespaceURI) = CObj(reader.NamespaceURI))) Then
            Return True
        End If
    End While

    Return False
End Function

ReadToDescendant 메서드ReadToDescendant method

public static async Task<bool> ReadToDescendantAsync(this XmlReader reader, string localName, string namespaceURI)
{
    if (localName == null || localName.Length == 0)
    {
        throw new ArgumentException("localName is empty or null");
    }
    if (namespaceURI == null)
    {
        throw new ArgumentNullException("namespaceURI");
    }
    // save the element or root depth
    int parentDepth = reader.Depth;
    if (reader.NodeType != XmlNodeType.Element)
    {
        // adjust the depth if we are on root node
        if (reader.ReadState == ReadState.Initial)
        {
            parentDepth--;
        }
        else
        {
            return false;
        }
    }
    else if (reader.IsEmptyElement)
    {
        return false;
    }

    // atomize local name and namespace
    localName = reader.NameTable.Add(localName);
    namespaceURI = reader.NameTable.Add(namespaceURI);

    // find the descendant
    while (await reader.ReadAsync() && reader.Depth > parentDepth)
    {
        if (reader.NodeType == XmlNodeType.Element && ((object)localName == (object)reader.LocalName) && ((object)namespaceURI == (object)reader.NamespaceURI))
        {
            return true;
        }
    }
    return false;
}
<Extension()>
Public Async Function ReadToDescendantAsync(reader As XmlReader, localName As String, namespaceURI As String) As Task(Of Boolean)
    If (localName = Nothing Or localName.Length = 0) Then
        Throw New ArgumentException("localName is empty or null")
    End If

    If (namespaceURI = Nothing) Then
        Throw New ArgumentNullException("namespaceURI")
    End If

    ' save the element or root depth
    Dim parentDepth As Integer = reader.Depth
    If (reader.NodeType <> XmlNodeType.Element) Then
        ' adjust the depth if we are on root node
        If (reader.ReadState = ReadState.Initial) Then
            parentDepth -= 1
        Else
            Return False
        End If
    ElseIf (reader.IsEmptyElement) Then
        Return False
    End If
    ' atomize local name and namespace
    localName = reader.NameTable.Add(localName)
    namespaceURI = reader.NameTable.Add(namespaceURI)

    ' find the descendant
    While (Await reader.ReadAsync() And reader.Depth > parentDepth)
        If (reader.NodeType = XmlNodeType.Element And
           (CObj(localName) = CObj(reader.LocalName)) And
           (CObj(namespaceURI) = CObj(reader.NamespaceURI))) Then
            Return True
        End If
    End While

    Return False
End Function

보안 고려 사항Security considerations

작업할 때 다음 사항을 고려 합니다 XmlReader 클래스:Consider the following when working with the XmlReader class:

  • throw 된 예외는 XmlReader 앱에 버블링 하지 않을 경로 정보가 노출 될 수 있습니다.Exceptions thrown from the XmlReader can disclose path information that you might not want bubbled up to your app. 응용 프로그램 예외를 catch 하 고 적절 하 게 처리 해야 합니다.Your app must catch exceptions and process them appropriately.

  • 서비스 거부 문제에 대 한 유지 하려는 경우 또는 신뢰할 수 없는 소스를 처리 하는 경우 DTD 처리를 사용 하지 마십시오.Do not enable DTD processing if you're concerned about denial of service issues or if you're dealing with untrusted sources. 기본적으로 DTD 처리가 비활성화 됩니다 XmlReader 개체에 의해 생성 된 Create 메서드.DTD processing is disabled by default for XmlReader objects created by the Create method.

    DTD 처리를 활성화하는 경우 XmlSecureResolver를 사용하여 XmlReader가 액세스할 수 있는 리소스를 제한할 수 있습니다.If you have DTD processing enabled, you can use the XmlSecureResolver to restrict the resources that the XmlReader can access. 또한 XML 처리에 필요한 메모리 및 시간을 제한할 수 있도록 앱을 디자인할 수 있습니다.You can also design your app so that the XML processing is memory and time constrained. 예를 들어, ASP.NET 앱의 제한 시간을 구성할 수 있습니다.For example, you can configure time-out limits in your ASP.NET app.

  • XML 데이터에는 스키마 파일과 같은 외부 리소스에 대한 참조가 포함될 수 있습니다.XML data can include references to external resources such as a schema file. 기본적으로 사용 하 여 외부 리소스는 확인을 XmlUrlResolver 사용자 자격 증명이 없는 개체입니다.By default, external resources are resolved by using an XmlUrlResolver object with no user credentials. 이러한 경우 다음 중 하나를 수행하여 보안을 강화할 수 있습니다.You can secure this further by doing one of the following:

  • ProcessInlineSchema 하 고 ProcessSchemaLocation 의 유효성 검사 플래그는 XmlReaderSettings 개체는 기본적으로 설정 되어 있지 않으면입니다.The ProcessInlineSchema and ProcessSchemaLocation validation flags of an XmlReaderSettings object aren't set by default. 그러므로 신뢰할 수 없는 소스의 XML 데이터를 처리할 때 스키마 기반 공격으로부터 XmlReader를 보호할 수 있습니다.This helps to protect the XmlReader against schema-based attacks when it is processing XML data from an untrusted source. 이 플래그를 설정하면 XmlResolver 개체의 XmlReaderSettings를 사용하여 XmlReader에서 인스턴스 문서에 나타난 스키마 위치를 확인할 수 있습니다.When these flags are set, the XmlResolver of the XmlReaderSettings object is used to resolve schema locations encountered in the instance document in the XmlReader. 경우는 XmlResolver 속성이로 설정 되어 null, 스키마 위치 확인 되지 경우에 합니다 ProcessInlineSchemaProcessSchemaLocation 유효성 검사 플래그를 설정 합니다.If the XmlResolver property is set to null, schema locations aren't resolved even if the ProcessInlineSchema and ProcessSchemaLocation validation flags are set.

    문서의 유효성을 검사하는 동안 스키마를 추가하면 새 형식이 추가되고 해당 문서에 대한 유효성 검사 결과가 달라질 수 있습니다.Schemas added during validation add new types and can change the validation outcome of the document being validated. 결과적으로 외부 스키마는 신뢰할 수 있는 소스에서만 확인해야 합니다.As a result, external schemas should only be resolved from trusted sources.

    사용 하지 않도록 설정 하는 것이 좋습니다는 ProcessIdentityConstraints 문서의 많은 부분을 통해 id 제약 조건이 있는 스키마에 대해 가용성 우선 시나리오에서 신뢰할 수 없는 큰 XML 문서 유효성을 검사할 때 플래그를 지정 합니다.We recommend disabling the ProcessIdentityConstraints flag when validating untrusted, large XML documents in high availability scenarios against a schema that has identity constraints over a large part of the document. 이 플래그는 기본적으로 사용 됩니다.This flag is enabled by default.

  • XML 데이터에는 처리하는 데 시간이 많이 걸리는 수많은 특성, 네임스페이스 선언, 중첩된 요소 등이 포함될 수 있습니다.XML data can contain a large number of attributes, namespace declarations, nested elements and so on that require a substantial amount of time to process. 전송 되는 입력의 크기를 제한 하는 XmlReader, 할 수 있습니다.To limit the size of the input that is sent to the XmlReader, you can:

  • ReadValueChunk 메서드를 사용 하 여 데이터의 큰 스트림을 처리할 수 있습니다.The ReadValueChunk method can be used to handle large streams of data. 이 메서드는 전체 값에 대한 단일 문자열을 할당하는 대신 한 번에 적은 수의 문자를 읽습니다.This method reads a small number of characters at a time instead of allocating a single string for the whole value.

  • 많은 수의 고유 로컬 이름, 네임 스페이스 또는 접두사를 사용 하 여 XML 문서를 읽을 때 문제가 발생할 수 있습니다.When reading an XML document with a large number of unique local names, namespaces, or prefixes, a problem can occur. 파생 된 클래스를 사용 하는 경우 XmlReader를 호출 하는 LocalName, Prefix, 또는 NamespaceURI 각 항목에 대 한 속성에서 반환된 된 문자열에 추가 됩니다을 NameTable입니다.If you are using a class that derives from XmlReader, and you call the LocalName, Prefix, or NamespaceURI property for each item, the returned string is added to a NameTable. 포함 된 컬렉션의 NameTable 줄 지 않아 문자열 핸들의 가상 메모리 누수 크기입니다.The collection held by the NameTable never decreases in size, creating a virtual memory leak of the string handles. 파생 하는 것이 완화는 NameTable 클래스 및 최대 크기 할당량을 적용 합니다.One mitigation for this is to derive from the NameTable class and enforce a maximum size quota. (사용 하지 않으려면 방법이 없기를 NameTable, 또는 전환의 NameTable 가득 찼을 때).(There is no way to prevent the use of a NameTable, or to switch the NameTable when it is full). 되는 다른 완화 언급 된 속성을 사용 하지 않도록 하 고 대신 사용 하는 MoveToAttribute 메서드를 IsStartElement 메서드 해당 메서드에 문자열을 반환 하지 채워지지 않습니다 되지 않도록 하 가능한 경우는 NameTable 컬렉션입니다.Another mitigation is to avoid using the properties mentioned and instead use the MoveToAttribute method with the IsStartElement method where possible; those methods don't return strings and thus avoid the problem of overfilling the NameTable collection.

  • XmlReaderSettings 개체에는 사용자 자격 증명과 같은 중요한 정보가 포함될 수 있습니다.XmlReaderSettings objects can contain sensitive information such as user credentials. 신뢰할 수 없는 구성 요소는 XmlReaderSettings 개체 및 해당 사용자 자격 증명을 사용하여 XmlReader 개체를 만들어 데이터를 읽을 수 있습니다.An untrusted component could use the XmlReaderSettings object and its user credentials to create XmlReader objects to read data. 캐시할 때 주의 해야 XmlReaderSettings 개체를 전달 하는 경우 또는 XmlReaderSettings 다른 하나는 구성 요소에서 개체입니다.Be careful when caching XmlReaderSettings objects, or when passing the XmlReaderSettings object from one component to another.

  • 신뢰할 수 없는 소스로부터 NameTable, XmlNamespaceManagerXmlResolver 개체 등의 지원 구성 요소를 받지 마십시오.Do not accept supporting components, such as NameTable, XmlNamespaceManager, and XmlResolver objects, from an untrusted source.

생성자

XmlReader() XmlReader() XmlReader() XmlReader()

XmlReader 클래스의 새 인스턴스를 초기화합니다. Initializes a new instance of the XmlReader class.

속성

AttributeCount AttributeCount AttributeCount AttributeCount

파생 클래스에서 재정의되면 현재 노드에 포함된 특성 수를 가져옵니다. When overridden in a derived class, gets the number of attributes on the current node.

BaseURI BaseURI BaseURI BaseURI

파생 클래스에서 재정의되면 현재 노드의 기본 URI를 가져옵니다. When overridden in a derived class, gets the base URI of the current node.

CanReadBinaryContent CanReadBinaryContent CanReadBinaryContent CanReadBinaryContent

XmlReader가 이진 콘텐츠 읽기 메서드를 구현하는지를 나타내는 값을 가져옵니다. Gets a value indicating whether the XmlReader implements the binary content read methods.

CanReadValueChunk CanReadValueChunk CanReadValueChunk CanReadValueChunk

XmlReaderReadValueChunk(Char[], Int32, Int32) 메서드를 구현하는지를 나타내는 값을 가져옵니다. Gets a value indicating whether the XmlReader implements the ReadValueChunk(Char[], Int32, Int32) method.

CanResolveEntity CanResolveEntity CanResolveEntity CanResolveEntity

이 판독기가 엔터티를 구문 분석하고 확인할 수 있는지를 나타내는 값을 가져옵니다. Gets a value indicating whether this reader can parse and resolve entities.

Depth Depth Depth Depth

파생 클래스에서 재정의되면 XML 문서에서 현재 노드의 수준을 가져옵니다. When overridden in a derived class, gets the depth of the current node in the XML document.

EOF EOF EOF EOF

파생 클래스에서 재정의되면 판독기가 스트림의 끝에 배치되었는지를 나타내는 값을 가져옵니다. When overridden in a derived class, gets a value indicating whether the reader is positioned at the end of the stream.

HasAttributes HasAttributes HasAttributes HasAttributes

현재 노드에 특성이 있는지를 나타내는 값을 얻습니다. Gets a value indicating whether the current node has any attributes.

HasValue HasValue HasValue HasValue

파생 클래스에서 재정의되면 현재 노드에 Value가 있는지 여부를 나타내는 값을 가져옵니다. When overridden in a derived class, gets a value indicating whether the current node can have a Value.

IsDefault IsDefault IsDefault IsDefault

파생 클래스에서 재정의되면 현재 노드가 DTD나 스키마에서 정의한 기본값에서 생성된 값을 가진 특성인지를 나타내는 값을 가져옵니다. When overridden in a derived class, gets a value indicating whether the current node is an attribute that was generated from the default value defined in the DTD or schema.

IsEmptyElement IsEmptyElement IsEmptyElement IsEmptyElement

파생 클래스에서 재정의되면 현재 노드가 <MyElement/>와 같은 빈 요소인지를 나타내는 값을 가져옵니다. When overridden in a derived class, gets a value indicating whether the current node is an empty element (for example, <MyElement/>).

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

파생 클래스에서 재정의되면 지정된 인덱스가 있는 특성의 값을 가져옵니다. When overridden in a derived class, gets the value of the attribute with the specified index.

Item[String, String] Item[String, String] Item[String, String] Item[String, String]

파생 클래스에서 재정의되면 지정된 LocalNameNamespaceURI가 있는 특성의 값을 가져옵니다. When overridden in a derived class, gets the value of the attribute with the specified LocalName and NamespaceURI.

Item[String] Item[String] Item[String] Item[String]

파생 클래스에서 재정의되면 지정된 Name이 있는 특성의 값을 가져옵니다. When overridden in a derived class, gets the value of the attribute with the specified Name.

LocalName LocalName LocalName LocalName

파생 클래스에서 재정의되면 현재 노드의 로컬 이름을 가져옵니다. When overridden in a derived class, gets the local name of the current node.

Name Name Name Name

파생 클래스에서 재정의되면 현재 노드의 정규화된 이름을 가져옵니다. When overridden in a derived class, gets the qualified name of the current node.

NamespaceURI NamespaceURI NamespaceURI NamespaceURI

파생 클래스에서 재정의되면 판독기가 배치된 노드의 네임스페이스 URI를 W3C 네임스페이스 사양에 정의된 대로 가져옵니다. When overridden in a derived class, gets the namespace URI (as defined in the W3C Namespace specification) of the node on which the reader is positioned.

NameTable NameTable NameTable NameTable

파생 클래스에서 재정의되면 이 구현과 관련된 XmlNameTable을 가져옵니다. When overridden in a derived class, gets the XmlNameTable associated with this implementation.

NodeType NodeType NodeType NodeType

파생 클래스에서 재정의되면 현재 노드의 형식을 가져옵니다. When overridden in a derived class, gets the type of the current node.

Prefix Prefix Prefix Prefix

파생 클래스에서 재정의되면 현재 노드와 관련된 네임스페이스 접두사를 가져옵니다. When overridden in a derived class, gets the namespace prefix associated with the current node.

QuoteChar QuoteChar QuoteChar QuoteChar

파생 클래스에서 재정의되면 특성 노드의 값을 묶는 데 사용되는 따옴표 문자를 가져옵니다. When overridden in a derived class, gets the quotation mark character used to enclose the value of an attribute node.

ReadState ReadState ReadState ReadState

파생 클래스에서 재정의되면 판독기의 상태를 가져옵니다. When overridden in a derived class, gets the state of the reader.

SchemaInfo SchemaInfo SchemaInfo SchemaInfo

스키마 유효성 검사의 결과로 현재 노드에 할당된 스키마 정보를 가져옵니다. Gets the schema information that has been assigned to the current node as a result of schema validation.

Settings Settings Settings Settings

XmlReader 인스턴스를 만드는 데 사용되는 XmlReaderSettings 개체를 가져옵니다. Gets the XmlReaderSettings object used to create this XmlReader instance.

Value Value Value Value

파생 클래스에서 재정의되면 현재 노드의 텍스트 값을 가져옵니다. When overridden in a derived class, gets the text value of the current node.

ValueType ValueType ValueType ValueType

현재 노드의 CLR(공용 언어 런타임) 형식을 가져옵니다. Gets The Common Language Runtime (CLR) type for the current node.

XmlLang XmlLang XmlLang XmlLang

파생 클래스에서 재정의되면 현재 xml:lang 범위를 가져옵니다. When overridden in a derived class, gets the current xml:lang scope.

XmlSpace XmlSpace XmlSpace XmlSpace

파생 클래스에서 재정의되면 현재 xml:space 범위를 가져옵니다. When overridden in a derived class, gets the current xml:space scope.

메서드

Close() Close() Close() Close()

파생 클래스에서 재정의되면 ReadStateClosed로 변경합니다. When overridden in a derived class, changes the ReadState to Closed.

Create(Stream) Create(Stream) Create(Stream) Create(Stream)

기본 설정의 지정된 스트림을 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance using the specified stream with default settings.

Create(Stream, XmlReaderSettings) Create(Stream, XmlReaderSettings) Create(Stream, XmlReaderSettings) Create(Stream, XmlReaderSettings)

지정된 스트림 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance with the specified stream and settings.

Create(Stream, XmlReaderSettings, String) Create(Stream, XmlReaderSettings, String) Create(Stream, XmlReaderSettings, String) Create(Stream, XmlReaderSettings, String)

지정된 스트림, 기본 URI 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance using the specified stream, base URI, and settings.

Create(Stream, XmlReaderSettings, XmlParserContext) Create(Stream, XmlReaderSettings, XmlParserContext) Create(Stream, XmlReaderSettings, XmlParserContext) Create(Stream, XmlReaderSettings, XmlParserContext)

구문 분석을 위해 지정한 스트림, 설정 및 컨텍스트 정보를 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance using the specified stream, settings, and context information for parsing.

Create(String) Create(String) Create(String) Create(String)

지정된 URI를 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance with specified URI.

Create(String, XmlReaderSettings) Create(String, XmlReaderSettings) Create(String, XmlReaderSettings) Create(String, XmlReaderSettings)

지정된 URI 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance by using the specified URI and settings.

Create(String, XmlReaderSettings, XmlParserContext) Create(String, XmlReaderSettings, XmlParserContext) Create(String, XmlReaderSettings, XmlParserContext) Create(String, XmlReaderSettings, XmlParserContext)

지정된 URI, 설정 및 컨텍스트 정보를 구문 분석에 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance by using the specified URI, settings, and context information for parsing.

Create(TextReader) Create(TextReader) Create(TextReader) Create(TextReader)

지정된 텍스트 판독기를 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance by using the specified text reader.

Create(TextReader, XmlReaderSettings) Create(TextReader, XmlReaderSettings) Create(TextReader, XmlReaderSettings) Create(TextReader, XmlReaderSettings)

지정된 텍스트 판독기 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance by using the specified text reader and settings.

Create(TextReader, XmlReaderSettings, String) Create(TextReader, XmlReaderSettings, String) Create(TextReader, XmlReaderSettings, String) Create(TextReader, XmlReaderSettings, String)

지정된 텍스트 판독기, 설정 및 기본 URI를 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance by using the specified text reader, settings, and base URI.

Create(TextReader, XmlReaderSettings, XmlParserContext) Create(TextReader, XmlReaderSettings, XmlParserContext) Create(TextReader, XmlReaderSettings, XmlParserContext) Create(TextReader, XmlReaderSettings, XmlParserContext)

지정된 텍스트 판독기, 설정 및 컨텍스트 정보를 구문 분석에 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance by using the specified text reader, settings, and context information for parsing.

Create(XmlReader, XmlReaderSettings) Create(XmlReader, XmlReaderSettings) Create(XmlReader, XmlReaderSettings) Create(XmlReader, XmlReaderSettings)

지정된 XML 판독기 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다. Creates a new XmlReader instance by using the specified XML reader and settings.

Dispose() Dispose() Dispose() Dispose()

XmlReader 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제합니다. Releases all resources used by the current instance of the XmlReader class.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

XmlReader에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. Releases the unmanaged resources used by the XmlReader and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다. Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAttribute(Int32) GetAttribute(Int32) GetAttribute(Int32) GetAttribute(Int32)

파생 클래스에서 재정의되면 지정된 인덱스가 있는 특성의 값을 가져옵니다. When overridden in a derived class, gets the value of the attribute with the specified index.

GetAttribute(String) GetAttribute(String) GetAttribute(String) GetAttribute(String)

파생 클래스에서 재정의되면 지정된 Name이 있는 특성의 값을 가져옵니다. When overridden in a derived class, gets the value of the attribute with the specified Name.

GetAttribute(String, String) GetAttribute(String, String) GetAttribute(String, String) GetAttribute(String, String)

파생 클래스에서 재정의되면 지정된 LocalNameNamespaceURI가 있는 특성의 값을 가져옵니다. When overridden in a derived class, gets the value of the attribute with the specified LocalName and NamespaceURI.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다. Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다. Gets the Type of the current instance.

(Inherited from Object)
GetValueAsync() GetValueAsync() GetValueAsync() GetValueAsync()

현재 노드의 값을 비동기적으로 가져옵니다. Asynchronously gets the value of the current node.

IsName(String) IsName(String) IsName(String) IsName(String)

문자열 인수가 유효한 XML 이름인지를 나타내는 값을 반환합니다. Returns a value indicating whether the string argument is a valid XML name.

IsNameToken(String) IsNameToken(String) IsNameToken(String) IsNameToken(String)

문자열 인수가 유효한 XML 이름 토큰인지를 나타내는 값을 반환합니다. Returns a value indicating whether or not the string argument is a valid XML name token.

IsStartElement() IsStartElement() IsStartElement() IsStartElement()

MoveToContent()를 호출하고 현재 콘텐츠 노드가 시작 태그 또는 빈 요소 태그인지 테스트합니다. Calls MoveToContent() and tests if the current content node is a start tag or empty element tag.

IsStartElement(String) IsStartElement(String) IsStartElement(String) IsStartElement(String)

MoveToContent()를 호출하고 현재 콘텐츠 노드가 시작 태그 또는 빈 요소 태그인지 여부와 찾은 요소의 Name 속성이 지정된 인수와 일치하는지 여부를 테스트합니다. Calls MoveToContent() and tests if the current content node is a start tag or empty element tag and if the Name property of the element found matches the given argument.

IsStartElement(String, String) IsStartElement(String, String) IsStartElement(String, String) IsStartElement(String, String)

MoveToContent()를 호출하고 현재 콘텐츠 노드가 시작 태그 또는 빈 요소 태그인지 여부와 찾은 요소의 LocalNameNamespaceURI 속성이 지정된 인수와 일치하는지 여부를 테스트합니다. Calls MoveToContent() and tests if the current content node is a start tag or empty element tag and if the LocalName and NamespaceURI properties of the element found match the given strings.

LookupNamespace(String) LookupNamespace(String) LookupNamespace(String) LookupNamespace(String)

파생 클래스에서 재정의되면 현재 요소의 범위에서 네임스페이스 접두사를 확인합니다. When overridden in a derived class, resolves a namespace prefix in the current element's scope.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다. Creates a shallow copy of the current Object.

(Inherited from Object)
MoveToAttribute(Int32) MoveToAttribute(Int32) MoveToAttribute(Int32) MoveToAttribute(Int32)

파생 클래스에서 재정의되면 지정된 인덱스가 있는 특성으로 이동합니다. When overridden in a derived class, moves to the attribute with the specified index.

MoveToAttribute(String) MoveToAttribute(String) MoveToAttribute(String) MoveToAttribute(String)

파생 클래스에서 재정의되면 지정된 Name이 있는 특성으로 이동합니다. When overridden in a derived class, moves to the attribute with the specified Name.

MoveToAttribute(String, String) MoveToAttribute(String, String) MoveToAttribute(String, String) MoveToAttribute(String, String)

파생 클래스에서 재정의되면 지정된 LocalNameNamespaceURI가 있는 특성으로 이동합니다. When overridden in a derived class, moves to the attribute with the specified LocalName and NamespaceURI.

MoveToContent() MoveToContent() MoveToContent() MoveToContent()

현재 노드가 콘텐츠 노드(공백 없는 텍스트, CDATA, Element, EndElement, EntityReference 또는 EndEntity)인지 여부를 확인합니다. Checks whether the current node is a content (non-white space text, CDATA, Element, EndElement, EntityReference, or EndEntity) node. 해당 노드가 콘텐츠 노드가 아니면 판독기는 다음 콘텐츠 노드나 파일의 끝으로 건너뜁니다. If the node is not a content node, the reader skips ahead to the next content node or end of file. 판독기는 ProcessingInstruction, DocumentType, Comment, Whitespace 또는 SignificantWhitespace 같은 형식의 노드를 건너뜁니다. It skips over nodes of the following type: ProcessingInstruction, DocumentType, Comment, Whitespace, or SignificantWhitespace.

MoveToContentAsync() MoveToContentAsync() MoveToContentAsync() MoveToContentAsync()

현재 노드가 콘텐츠 노드인지를 비동기적으로 확인합니다. Asynchronously checks whether the current node is a content node. 해당 노드가 콘텐츠 노드가 아니면 판독기는 다음 콘텐츠 노드나 파일의 끝으로 건너뜁니다. If the node is not a content node, the reader skips ahead to the next content node or end of file.

MoveToElement() MoveToElement() MoveToElement() MoveToElement()

파생 클래스에서 재정의되면 현재 특성 노드를 포함하는 요소로 이동합니다. When overridden in a derived class, moves to the element that contains the current attribute node.

MoveToFirstAttribute() MoveToFirstAttribute() MoveToFirstAttribute() MoveToFirstAttribute()

파생 클래스에서 재정의되면 첫 번째 특성으로 이동합니다. When overridden in a derived class, moves to the first attribute.

MoveToNextAttribute() MoveToNextAttribute() MoveToNextAttribute() MoveToNextAttribute()

파생 클래스에서 재정의되면 다음 특성으로 이동합니다. When overridden in a derived class, moves to the next attribute.

Read() Read() Read() Read()

파생 클래스에서 재정의되면 스트림에서 다음 노드를 읽습니다. When overridden in a derived class, reads the next node from the stream.

ReadAsync() ReadAsync() ReadAsync() ReadAsync()

스트림에서 다음 노드를 비동기적으로 읽습니다. Asynchronously reads the next node from the stream.

ReadAttributeValue() ReadAttributeValue() ReadAttributeValue() ReadAttributeValue()

파생 클래스에서 재정의되면 하나 이상의 Text, EntityReference 또는 EndEntity 노드로 특성 값을 구문 분석합니다. When overridden in a derived class, parses the attribute value into one or more Text, EntityReference, or EndEntity nodes.

ReadContentAs(Type, IXmlNamespaceResolver) ReadContentAs(Type, IXmlNamespaceResolver) ReadContentAs(Type, IXmlNamespaceResolver) ReadContentAs(Type, IXmlNamespaceResolver)

지정한 형식의 개체로 콘텐츠를 읽습니다. Reads the content as an object of the type specified.

ReadContentAsAsync(Type, IXmlNamespaceResolver) ReadContentAsAsync(Type, IXmlNamespaceResolver) ReadContentAsAsync(Type, IXmlNamespaceResolver) ReadContentAsAsync(Type, IXmlNamespaceResolver)

지정한 형식의 개체로 콘텐츠를 비동기적으로 읽습니다. Asynchronously reads the content as an object of the type specified.

ReadContentAsBase64(Byte[], Int32, Int32) ReadContentAsBase64(Byte[], Int32, Int32) ReadContentAsBase64(Byte[], Int32, Int32) ReadContentAsBase64(Byte[], Int32, Int32)

콘텐츠를 읽고 Base64 디코딩된 이진 바이트를 반환합니다. Reads the content and returns the Base64 decoded binary bytes.

ReadContentAsBase64Async(Byte[], Int32, Int32) ReadContentAsBase64Async(Byte[], Int32, Int32) ReadContentAsBase64Async(Byte[], Int32, Int32) ReadContentAsBase64Async(Byte[], Int32, Int32)

콘텐츠를 비동기적으로 읽고 Base64 디코딩된 이진 바이트를 반환합니다. Asynchronously reads the content and returns the Base64 decoded binary bytes.

ReadContentAsBinHex(Byte[], Int32, Int32) ReadContentAsBinHex(Byte[], Int32, Int32) ReadContentAsBinHex(Byte[], Int32, Int32) ReadContentAsBinHex(Byte[], Int32, Int32)

콘텐츠를 읽고 BinHex 디코딩된 이진 바이트를 반환합니다. Reads the content and returns the BinHex decoded binary bytes.

ReadContentAsBinHexAsync(Byte[], Int32, Int32) ReadContentAsBinHexAsync(Byte[], Int32, Int32) ReadContentAsBinHexAsync(Byte[], Int32, Int32) ReadContentAsBinHexAsync(Byte[], Int32, Int32)

콘텐츠를 비동기적으로 읽고 BinHex 디코딩된 이진 바이트를 반환합니다. Asynchronously reads the content and returns the BinHex decoded binary bytes.

ReadContentAsBoolean() ReadContentAsBoolean() ReadContentAsBoolean() ReadContentAsBoolean()

현재 위치의 텍스트 콘텐츠를 Boolean으로 읽습니다. Reads the text content at the current position as a Boolean.

ReadContentAsDateTime() ReadContentAsDateTime() ReadContentAsDateTime() ReadContentAsDateTime()

현재 위치의 텍스트 콘텐츠를 DateTime 개체로 읽습니다. Reads the text content at the current position as a DateTime object.

ReadContentAsDateTimeOffset() ReadContentAsDateTimeOffset() ReadContentAsDateTimeOffset() ReadContentAsDateTimeOffset()

현재 위치의 텍스트 콘텐츠를 DateTimeOffset 개체로 읽습니다. Reads the text content at the current position as a DateTimeOffset object.

ReadContentAsDecimal() ReadContentAsDecimal() ReadContentAsDecimal() ReadContentAsDecimal()

현재 위치의 텍스트 콘텐츠를 Decimal 개체로 읽습니다. Reads the text content at the current position as a Decimal object.

ReadContentAsDouble() ReadContentAsDouble() ReadContentAsDouble() ReadContentAsDouble()

현재 위치의 텍스트 콘텐츠를 배정밀도 부동 소수점 숫자로 읽습니다. Reads the text content at the current position as a double-precision floating-point number.

ReadContentAsFloat() ReadContentAsFloat() ReadContentAsFloat() ReadContentAsFloat()

현재 위치의 텍스트 콘텐츠를 단정밀도 부동 소수점 숫자로 읽습니다. Reads the text content at the current position as a single-precision floating point number.

ReadContentAsInt() ReadContentAsInt() ReadContentAsInt() ReadContentAsInt()

현재 위치의 텍스트 콘텐츠를 부호 있는 32비트 정수로 읽습니다. Reads the text content at the current position as a 32-bit signed integer.

ReadContentAsLong() ReadContentAsLong() ReadContentAsLong() ReadContentAsLong()

현재 위치의 텍스트 콘텐츠를 부호 있는 64비트 정수로 읽습니다. Reads the text content at the current position as a 64-bit signed integer.

ReadContentAsObject() ReadContentAsObject() ReadContentAsObject() ReadContentAsObject()

현재 위치의 텍스트 콘텐츠를 Object로 읽습니다. Reads the text content at the current position as an Object.

ReadContentAsObjectAsync() ReadContentAsObjectAsync() ReadContentAsObjectAsync() ReadContentAsObjectAsync()

현재 위치의 텍스트 콘텐츠를 Object로 비동기적으로 읽습니다. Asynchronously reads the text content at the current position as an Object.

ReadContentAsString() ReadContentAsString() ReadContentAsString() ReadContentAsString()

현재 위치의 텍스트 콘텐츠를 String 개체로 읽습니다. Reads the text content at the current position as a String object.

ReadContentAsStringAsync() ReadContentAsStringAsync() ReadContentAsStringAsync() ReadContentAsStringAsync()

현재 위치의 텍스트 콘텐츠를 String 개체로 읽습니다. Asynchronously reads the text content at the current position as a String object.

ReadElementContentAs(Type, IXmlNamespaceResolver) ReadElementContentAs(Type, IXmlNamespaceResolver) ReadElementContentAs(Type, IXmlNamespaceResolver) ReadElementContentAs(Type, IXmlNamespaceResolver)

요소 콘텐츠를 요청된 형식으로 읽습니다. Reads the element content as the requested type.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String) ReadElementContentAs(Type, IXmlNamespaceResolver, String, String) ReadElementContentAs(Type, IXmlNamespaceResolver, String, String) ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 요소 콘텐츠를 요청된 형식으로 읽습니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the element content as the requested type.

ReadElementContentAsAsync(Type, IXmlNamespaceResolver) ReadElementContentAsAsync(Type, IXmlNamespaceResolver) ReadElementContentAsAsync(Type, IXmlNamespaceResolver) ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

요소 콘텐츠를 요청된 형식으로 비동기적으로 읽습니다. Asynchronously reads the element content as the requested type.

ReadElementContentAsBase64(Byte[], Int32, Int32) ReadElementContentAsBase64(Byte[], Int32, Int32) ReadElementContentAsBase64(Byte[], Int32, Int32) ReadElementContentAsBase64(Byte[], Int32, Int32)

요소를 읽고 Base64 콘텐츠를 디코딩합니다. Reads the element and decodes the Base64 content.

ReadElementContentAsBase64Async(Byte[], Int32, Int32) ReadElementContentAsBase64Async(Byte[], Int32, Int32) ReadElementContentAsBase64Async(Byte[], Int32, Int32) ReadElementContentAsBase64Async(Byte[], Int32, Int32)

요소를 비동기적으로 읽고 Base64 콘텐츠를 디코딩합니다. Asynchronously reads the element and decodes the Base64 content.

ReadElementContentAsBinHex(Byte[], Int32, Int32) ReadElementContentAsBinHex(Byte[], Int32, Int32) ReadElementContentAsBinHex(Byte[], Int32, Int32) ReadElementContentAsBinHex(Byte[], Int32, Int32)

요소를 읽고 BinHex 콘텐츠를 디코딩합니다. Reads the element and decodes the BinHex content.

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32) ReadElementContentAsBinHexAsync(Byte[], Int32, Int32) ReadElementContentAsBinHexAsync(Byte[], Int32, Int32) ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

요소를 비동기적으로 읽고 BinHex 콘텐츠를 디코딩합니다. Asynchronously reads the element and decodes the BinHex content.

ReadElementContentAsBoolean() ReadElementContentAsBoolean() ReadElementContentAsBoolean() ReadElementContentAsBoolean()

현재 요소를 읽고 콘텐츠를 Boolean 개체로 반환합니다. Reads the current element and returns the contents as a Boolean object.

ReadElementContentAsBoolean(String, String) ReadElementContentAsBoolean(String, String) ReadElementContentAsBoolean(String, String) ReadElementContentAsBoolean(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 Boolean 개체로 반환합니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a Boolean object.

ReadElementContentAsDateTime() ReadElementContentAsDateTime() ReadElementContentAsDateTime() ReadElementContentAsDateTime()

현재 요소를 읽고 콘텐츠를 DateTime 개체로 반환합니다. Reads the current element and returns the contents as a DateTime object.

ReadElementContentAsDateTime(String, String) ReadElementContentAsDateTime(String, String) ReadElementContentAsDateTime(String, String) ReadElementContentAsDateTime(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 DateTime 개체로 반환합니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a DateTime object.

ReadElementContentAsDecimal() ReadElementContentAsDecimal() ReadElementContentAsDecimal() ReadElementContentAsDecimal()

현재 요소를 읽고 콘텐츠를 Decimal 개체로 반환합니다. Reads the current element and returns the contents as a Decimal object.

ReadElementContentAsDecimal(String, String) ReadElementContentAsDecimal(String, String) ReadElementContentAsDecimal(String, String) ReadElementContentAsDecimal(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 Decimal 개체로 반환합니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a Decimal object.

ReadElementContentAsDouble() ReadElementContentAsDouble() ReadElementContentAsDouble() ReadElementContentAsDouble()

현재 요소를 읽고 콘텐츠를 배정밀도 부동 소수점 숫자로 반환합니다. Reads the current element and returns the contents as a double-precision floating-point number.

ReadElementContentAsDouble(String, String) ReadElementContentAsDouble(String, String) ReadElementContentAsDouble(String, String) ReadElementContentAsDouble(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 배정밀도 부동 소수점 숫자로 반환합니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a double-precision floating-point number.

ReadElementContentAsFloat() ReadElementContentAsFloat() ReadElementContentAsFloat() ReadElementContentAsFloat()

현재 요소를 읽고 콘텐츠를 단정밀도 부동 소수점 숫자로 반환합니다. Reads the current element and returns the contents as single-precision floating-point number.

ReadElementContentAsFloat(String, String) ReadElementContentAsFloat(String, String) ReadElementContentAsFloat(String, String) ReadElementContentAsFloat(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 단정밀도 부동 소수점 숫자로 반환합니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a single-precision floating-point number.

ReadElementContentAsInt() ReadElementContentAsInt() ReadElementContentAsInt() ReadElementContentAsInt()

현재 요소를 읽고 부호 있는 32비트 정수로 콘텐츠를 반환합니다. Reads the current element and returns the contents as a 32-bit signed integer.

ReadElementContentAsInt(String, String) ReadElementContentAsInt(String, String) ReadElementContentAsInt(String, String) ReadElementContentAsInt(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 부호 있는 32비트 정수로 반환합니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a 32-bit signed integer.

ReadElementContentAsLong() ReadElementContentAsLong() ReadElementContentAsLong() ReadElementContentAsLong()

현재 요소를 읽고 부호 있는 64비트 정수로 콘텐츠를 반환합니다. Reads the current element and returns the contents as a 64-bit signed integer.

ReadElementContentAsLong(String, String) ReadElementContentAsLong(String, String) ReadElementContentAsLong(String, String) ReadElementContentAsLong(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 부호 있는 64비트 정수로 반환합니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a 64-bit signed integer.

ReadElementContentAsObject() ReadElementContentAsObject() ReadElementContentAsObject() ReadElementContentAsObject()

현재 요소를 읽고 콘텐츠를 Object로 반환합니다. Reads the current element and returns the contents as an Object.

ReadElementContentAsObject(String, String) ReadElementContentAsObject(String, String) ReadElementContentAsObject(String, String) ReadElementContentAsObject(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 Object로 반환합니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as an Object.

ReadElementContentAsObjectAsync() ReadElementContentAsObjectAsync() ReadElementContentAsObjectAsync() ReadElementContentAsObjectAsync()

현재 요소를 비동기적으로 읽고 콘텐츠를 Object로 반환합니다. Asynchronously reads the current element and returns the contents as an Object.

ReadElementContentAsString() ReadElementContentAsString() ReadElementContentAsString() ReadElementContentAsString()

현재 요소를 읽고 콘텐츠를 String 개체로 반환합니다. Reads the current element and returns the contents as a String object.

ReadElementContentAsString(String, String) ReadElementContentAsString(String, String) ReadElementContentAsString(String, String) ReadElementContentAsString(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 String 개체로 반환합니다. Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a String object.

ReadElementContentAsStringAsync() ReadElementContentAsStringAsync() ReadElementContentAsStringAsync() ReadElementContentAsStringAsync()

현재 요소를 비동기적으로 읽고 콘텐츠를 String 개체로 반환합니다. Asynchronously reads the current element and returns the contents as a String object.

ReadElementString() ReadElementString() ReadElementString() ReadElementString()

텍스트 전용 요소를 읽습니다. Reads a text-only element. 그러나 이 연산을 더 간단하게 처리하는 방법을 제공하는 ReadElementContentAsString() 메서드를 대신 사용하는 것이 좋습니다. However, we recommend that you use the ReadElementContentAsString() method instead, because it provides a more straightforward way to handle this operation.

ReadElementString(String) ReadElementString(String) ReadElementString(String) ReadElementString(String)

텍스트 전용 요소를 읽기 전에 찾은 요소의 Name 속성이 지정된 문자열과 일치하는지 확인합니다. Checks that the Name property of the element found matches the given string before reading a text-only element. 그러나 이 연산을 더 간단하게 처리하는 방법을 제공하는 ReadElementContentAsString() 메서드를 대신 사용하는 것이 좋습니다. However, we recommend that you use the ReadElementContentAsString() method instead, because it provides a more straightforward way to handle this operation.

ReadElementString(String, String) ReadElementString(String, String) ReadElementString(String, String) ReadElementString(String, String)

텍스트 전용 요소를 읽기 전에 찾은 요소의 LocalNameNamespaceURI 속성이 지정된 문자열과 일치하는지 확인합니다. Checks that the LocalName and NamespaceURI properties of the element found matches the given strings before reading a text-only element. 그러나 이 연산을 더 간단하게 처리하는 방법을 제공하는 ReadElementContentAsString(String, String) 메서드를 대신 사용하는 것이 좋습니다. However, we recommend that you use the ReadElementContentAsString(String, String) method instead, because it provides a more straightforward way to handle this operation.

ReadEndElement() ReadEndElement() ReadEndElement() ReadEndElement()

현재 콘텐츠 노드가 끝 태그인지 확인하고 판독기를 다음 노드로 이동합니다. Checks that the current content node is an end tag and advances the reader to the next node.

ReadInnerXml() ReadInnerXml() ReadInnerXml() ReadInnerXml()

파생 클래스에서 재정의되면 태그를 포함한 모든 콘텐츠를 문자열로 읽습니다. When overridden in a derived class, reads all the content, including markup, as a string.

ReadInnerXmlAsync() ReadInnerXmlAsync() ReadInnerXmlAsync() ReadInnerXmlAsync()

태그를 포함한 모든 콘텐츠를 문자열로 비동기적으로 읽습니다. Asynchronously reads all the content, including markup, as a string.

ReadOuterXml() ReadOuterXml() ReadOuterXml() ReadOuterXml()

파생 클래스에서 재정의되면 태그를 포함하여 이 노드 및 모든 자식 노드를 나타내는 콘텐츠를 읽습니다. When overridden in a derived class, reads the content, including markup, representing this node and all its children.

ReadOuterXmlAsync() ReadOuterXmlAsync() ReadOuterXmlAsync() ReadOuterXmlAsync()

이 노드 및 이 노드의 모든 자식을 나타내는 태그를 포함한 콘텐츠를 비동기적으로 읽습니다. Asynchronously reads the content, including markup, representing this node and all its children.

ReadStartElement() ReadStartElement() ReadStartElement() ReadStartElement()

현재 노드가 요소인지 확인하고 판독기를 다음 노드로 진행합니다. Checks that the current node is an element and advances the reader to the next node.

ReadStartElement(String) ReadStartElement(String) ReadStartElement(String) ReadStartElement(String)

현재 콘텐츠 노드가 지정된 Name을 가진 요소인지 확인하고 판독기를 다음 노드로 이동합니다. Checks that the current content node is an element with the given Name and advances the reader to the next node.

ReadStartElement(String, String) ReadStartElement(String, String) ReadStartElement(String, String) ReadStartElement(String, String)

현재 콘텐츠 노드가 지정된 LocalNameNamespaceURI가 있는 요소인지 확인하고 판독기를 다음 노드로 이동합니다. Checks that the current content node is an element with the given LocalName and NamespaceURI and advances the reader to the next node.

ReadString() ReadString() ReadString() ReadString()

파생 클래스에서 재정의되면 요소 또는 텍스트 노드의 내용을 문자열로 읽습니다. When overridden in a derived class, reads the contents of an element or text node as a string. 그러나 이 연산을 더 간단하게 처리하는 방법을 제공하는 ReadElementContentAsString 메서드를 대신 사용하는 것이 좋습니다. However, we recommend that you use the ReadElementContentAsString method instead, because it provides a more straightforward way to handle this operation.

ReadSubtree() ReadSubtree() ReadSubtree() ReadSubtree()

현재 노드와 해당 하위 노드 전체를 읽는 데 사용되는 새 XmlReader 인스턴스를 반환합니다. Returns a new XmlReader instance that can be used to read the current node, and all its descendants.

ReadToDescendant(String) ReadToDescendant(String) ReadToDescendant(String) ReadToDescendant(String)

지정된 정규화 이름을 사용하는 다음 하위 요소로 XmlReader를 이동합니다. Advances the XmlReader to the next descendant element with the specified qualified name.

ReadToDescendant(String, String) ReadToDescendant(String, String) ReadToDescendant(String, String) ReadToDescendant(String, String)

지정된 로컬 이름과 네임스페이스 URI를 사용하는 다음 하위 요소로 XmlReader를 이동합니다. Advances the XmlReader to the next descendant element with the specified local name and namespace URI.

ReadToFollowing(String) ReadToFollowing(String) ReadToFollowing(String) ReadToFollowing(String)

지정된 정규화된 이름의 요소를 찾을 때까지 읽습니다. Reads until an element with the specified qualified name is found.

ReadToFollowing(String, String) ReadToFollowing(String, String) ReadToFollowing(String, String) ReadToFollowing(String, String)

지정된 로컬 이름 및 네임스페이스 URI를 사용하는 요소를 찾을 때까지 읽습니다. Reads until an element with the specified local name and namespace URI is found.

ReadToNextSibling(String) ReadToNextSibling(String) ReadToNextSibling(String) ReadToNextSibling(String)

지정된 정규화 이름을 사용하는 다음 형제 요소로 XmlReader를 이동합니다. Advances the XmlReader to the next sibling element with the specified qualified name.

ReadToNextSibling(String, String) ReadToNextSibling(String, String) ReadToNextSibling(String, String) ReadToNextSibling(String, String)

지정된 로컬 이름과 네임스페이스 URI를 사용하는 다음 형제 요소로 XmlReader를 이동합니다. Advances the XmlReader to the next sibling element with the specified local name and namespace URI.

ReadValueChunk(Char[], Int32, Int32) ReadValueChunk(Char[], Int32, Int32) ReadValueChunk(Char[], Int32, Int32) ReadValueChunk(Char[], Int32, Int32)

XML 문서에 포함된 큰 텍스트 스트림을 읽습니다. Reads large streams of text embedded in an XML document.

ReadValueChunkAsync(Char[], Int32, Int32) ReadValueChunkAsync(Char[], Int32, Int32) ReadValueChunkAsync(Char[], Int32, Int32) ReadValueChunkAsync(Char[], Int32, Int32)

XML 문서에 포함된 큰 텍스트 스트림을 비동기적으로 읽습니다. Asynchronously reads large streams of text embedded in an XML document.

ResolveEntity() ResolveEntity() ResolveEntity() ResolveEntity()

파생 클래스에서 재정의되면 EntityReference 노드에 대한 엔터티 참조를 확인합니다. When overridden in a derived class, resolves the entity reference for EntityReference nodes.

Skip() Skip() Skip() Skip()

현재 노드의 자식을 건너뜁니다. Skips the children of the current node.

SkipAsync() SkipAsync() SkipAsync() SkipAsync()

현재 노드의 자식을 비동기적으로 건너뜁니다. Asynchronously skips the children of the current node.

ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다. Returns a string that represents the current object.

(Inherited from Object)

명시적 인터페이스 구현

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

이 멤버에 대한 설명은 Dispose()를 참조하세요. For a description of this member, see Dispose().

적용 대상

추가 정보