XmlReader.IsEmptyElement 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파생 클래스에서 재정의되면 현재 노드가 <MyElement/>
와 같은 빈 요소인지를 나타내는 값을 가져옵니다.
public:
abstract property bool IsEmptyElement { bool get(); };
public abstract bool IsEmptyElement { get; }
member this.IsEmptyElement : bool
Public MustOverride ReadOnly Property IsEmptyElement As Boolean
속성 값
true
현재 노드가 로 />
끝나는 요소(NodeType같XmlNodeType.Element
음)이면 이고, false
그렇지 않으면 .
예외
이전 비동기 작업이 완료되기 전에 XmlReader 메서드가 호출되었습니다. 이 경우 “비동기 작업이 이미 진행 중입니다.” 메시지를 나타내며 InvalidOperationException이 throw됩니다.
예제
다음 예제에서는 각 요소의 텍스트 내용을 표시합니다.
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
이 예제에서는 파일을 elems.xml
입력으로 사용합니다.
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
설명
이 속성을 사용하여 다음 간의 차이를 확인할 수 있습니다.
<item num="123"/>
(IsEmptyElement
is true
).
<item num="123"></item>
(IsEmptyElement
is false
, 비록 요소 콘텐츠가 비어 있음).
빈 요소에 대해 해당 EndElement
노드가 생성되지 않습니다.
스키마 유효성 IsEmptyElement
검사로 인해 기본 콘텐츠가 요소에 추가된 경우 여전히 반환됩니다 true
. 요소에 기본값이 있는지 여부에는 아무런 관련이 없습니다. 즉, IsEmptyElement
원본 문서의 요소에 끝 요소 태그가 있는지 여부를 보고하기만 하면 됩니다.