XmlReader.MoveToContent 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 노드가 콘텐츠 노드(공백 없는 텍스트, CDATA
, Element
, EndElement
, EntityReference
또는 EndEntity
)인지 여부를 확인합니다. 해당 노드가 콘텐츠 노드가 아니면 판독기는 다음 콘텐츠 노드나 파일의 끝으로 건너뜁니다. 판독기는 ProcessingInstruction
, DocumentType
, Comment
, Whitespace
또는 SignificantWhitespace
같은 형식의 노드를 건너뜁니다.
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->Equals( "price" ) )
{
_price = reader->ReadString();
}
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.