XmlReader.MoveToContent 메서드

정의

현재 노드가 콘텐츠(공백이 아닌 텍스트, CDATA, , ElementEndElementEntityReference또는 EndEntity) 노드인지 확인합니다. 노드가 콘텐츠 노드가 아닌 경우 판독기는 다음 콘텐츠 노드 또는 파일 끝으로 건너뜁니다. 다음 형식ProcessingInstructionDocumentTypeCommentWhitespaceSignificantWhitespace의 노드를 건너뜁니다.

public:
 virtual System::Xml::XmlNodeType MoveToContent();
public virtual System.Xml.XmlNodeType MoveToContent();
abstract member MoveToContent : unit -> System.Xml.XmlNodeType
override this.MoveToContent : unit -> System.Xml.XmlNodeType
Public Overridable Function MoveToContent () As XmlNodeType

반품

메서드에서 찾은 NodeType 현재 노드 또는 XmlNodeType.None 판독기에서 입력 스트림의 끝에 도달한 경우

예외

입력 스트림에서 잘못된 XML이 발생했습니다.

XmlReader 이전 비동기 작업이 완료되기 전에 메서드가 호출되었습니다. 이 경우 InvalidOperationException "비동기 작업이 이미 진행 중입니다."라는 메시지와 함께 throw됩니다.

예제

이 기능은 중단 없이 임의의 XML 태그를 건너뛸 수 있는 코드를 작성하려는 경우에 유용합니다. 예를 들어 다음 코드가 있다고 가정해 보겠습니다.

if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "price")
 {
    _price = reader.ReadString();
 }
If reader.MoveToContent() = XmlNodeType.Element And reader.Name = "price" Then
    _price = reader.ReadString()
End If

이 코드는 중단 없이 다음 입력을 처리할 수 있습니다.

<price>123.4</price>

<?xml version="1.0"><!DOCTYPE price SYSTEM
  "abc"><price>123.4</price>

<?xml version="1.0"><!DOCTYPE price SYSTEM "abc"
  [<!ENTITY p
  "123.4">]><price>&p;</price>

<!-- some test comment --><?processing
  instruction?><price>123.4</price>

설명

현재 노드가 특성 노드인 경우 이 메서드는 판독기를 특성을 소유하는 요소로 다시 이동합니다.

이 메서드의 비동기 버전은 다음을 참조하세요 MoveToContentAsync.

적용 대상