XmlValidatingReader.Read 메서드
스트림에서 다음 노드를 읽습니다.
네임스페이스: System.Xml
어셈블리: System.Xml(system.xml.dll)
구문
‘선언
Public Overrides Function Read As Boolean
‘사용 방법
Dim instance As XmlValidatingReader
Dim returnValue As Boolean
returnValue = instance.Read
public override bool Read ()
public:
virtual bool Read () override
public boolean Read ()
public override function Read () : boolean
반환 값
다음 노드를 읽었으면 true이고, 더 이상 읽을 노드가 없으면 false입니다.
설명
참고
XmlValidatingReader 클래스는 Microsoft .NET Framework version 2.0에서 사용되지 않습니다. XmlReaderSettings 클래스와 Create 메서드를 사용하여 유효성 검사 XmlReader 인스턴스를 만들 수 있습니다. 자세한 내용은 XmlReader를 사용하여 XML 데이터의 유효성 검사를 참조하십시오.
판독기를 처음 만들어 초기화할 때는 사용 가능한 정보가 없습니다. 첫 번째 노드를 읽으려면 Read를 호출해야 합니다.
예제
다음 예제에서는 XML 파일을 읽고 각 노드를 표시합니다.
Imports System
Imports System.IO
Imports System.Xml
Public Class Sample
Private Const filename As String = "items.xml"
Public Shared Sub Main()
Dim txtreader As XmlTextReader = Nothing
Dim reader As XmlValidatingReader = Nothing
Try
'Load the reader with the data file and ignore all white space nodes.
txtreader = New XmlTextReader(filename)
txtreader.WhitespaceHandling = WhitespaceHandling.None
'Implement the validating reader over the text reader.
reader = New XmlValidatingReader(txtreader)
reader.ValidationType = ValidationType.None
'Parse the file and display each of the nodes.
While reader.Read()
Select Case reader.NodeType
Case XmlNodeType.Element
Console.Write("<{0}>", reader.Name)
Case XmlNodeType.Text
Console.Write(reader.Value)
Case XmlNodeType.CDATA
Console.Write("<![CDATA[{0}]]>", reader.Value)
Case XmlNodeType.ProcessingInstruction
Console.Write("<?{0} {1}?>", reader.Name, reader.Value)
Case XmlNodeType.Comment
Console.Write("<!--{0}-->", reader.Value)
Case XmlNodeType.XmlDeclaration
Console.Write("<?xml version='1.0'?>")
Case XmlNodeType.Document
Case XmlNodeType.DocumentType
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value)
Case XmlNodeType.EntityReference
Console.Write(reader.Name)
Case XmlNodeType.EndElement
Console.Write("</{0}>", reader.Name)
End Select
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub 'Main
End Class 'Sample
using System;
using System.IO;
using System.Xml;
public class Sample
{
private const String filename = "items.xml";
public static void Main()
{
XmlTextReader txtreader = null;
XmlValidatingReader reader = null;
try
{
//Load the reader with the data file and ignore all white space nodes.
txtreader = new XmlTextReader(filename);
txtreader.WhitespaceHandling = WhitespaceHandling.None;
//Implement the validating reader over the text reader.
reader = new XmlValidatingReader(txtreader);
reader.ValidationType = ValidationType.None;
//Parse the file and display each of the nodes.
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
Console.Write("<{0}>", reader.Name);
break;
case XmlNodeType.Text:
Console.Write(reader.Value);
break;
case XmlNodeType.CDATA:
Console.Write("<![CDATA[{0}]]>", reader.Value);
break;
case XmlNodeType.ProcessingInstruction:
Console.Write("<?{0} {1}?>", reader.Name, reader.Value);
break;
case XmlNodeType.Comment:
Console.Write("<!--{0}-->", reader.Value);
break;
case XmlNodeType.XmlDeclaration:
Console.Write("<?xml version='1.0'?>");
break;
case XmlNodeType.Document:
break;
case XmlNodeType.DocumentType:
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
break;
case XmlNodeType.EntityReference:
Console.Write(reader.Name);
break;
case XmlNodeType.EndElement:
Console.Write("</{0}>", reader.Name);
break;
}
}
}
finally
{
if (reader!=null)
reader.Close();
}
}
} // End class
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader^ txtreader = nullptr;
XmlValidatingReader^ reader = nullptr;
String^ filename = "items.xml";
try
{
//Load the reader with the data file and ignore all white space nodes.
txtreader = gcnew XmlTextReader( filename );
txtreader->WhitespaceHandling = WhitespaceHandling::None;
//Implement the validating reader over the text reader.
reader = gcnew XmlValidatingReader( txtreader );
reader->ValidationType = ValidationType::None;
//Parse the file and display each of the nodes.
while ( reader->Read() )
{
switch ( reader->NodeType )
{
case XmlNodeType::Element:
Console::Write( "<{0}>", reader->Name );
break;
case XmlNodeType::Text:
Console::Write( reader->Value );
break;
case XmlNodeType::CDATA:
Console::Write( "<![CDATA[{0}]]>", reader->Value );
break;
case XmlNodeType::ProcessingInstruction:
Console::Write( "<?{0} {1}?>", reader->Name, reader->Value );
break;
case XmlNodeType::Comment:
Console::Write( "<!--{0}-->", reader->Value );
break;
case XmlNodeType::XmlDeclaration:
Console::Write( "<?xml version='1.0'?>" );
break;
case XmlNodeType::Document:
break;
case XmlNodeType::DocumentType:
Console::Write( "<!DOCTYPE {0} [{1}]", reader->Name, reader->Value );
break;
case XmlNodeType::EntityReference:
Console::Write( reader->Name );
break;
case XmlNodeType::EndElement:
Console::Write( "</{0}>", reader->Name );
break;
}
}
}
finally
{
if ( reader != nullptr )
reader->Close();
}
}
import System.*;
import System.IO.*;
import System.Xml.*;
public class Sample
{
private static String fileName = "items.xml";
public static void main(String[] args)
{
XmlTextReader txtReader = null;
XmlValidatingReader reader = null;
try {
//Load the reader with the data file and ignore all
// white space nodes.
txtReader = new XmlTextReader(fileName);
txtReader.set_WhitespaceHandling(WhitespaceHandling.None);
//Implement the validating reader over the text reader.
reader = new XmlValidatingReader(txtReader);
reader.set_ValidationType(ValidationType.None);
//Parse the file and display each of the nodes.
while (reader.Read()) {
switch (reader.get_NodeType()) {
case XmlNodeType.Element :
Console.Write("<{0}>", reader.get_Name());
break;
case XmlNodeType.Text :
Console.Write(reader.get_Value());
break;
case XmlNodeType.CDATA :
Console.Write("<![CDATA[{0}]]>", reader.get_Value());
break;
case XmlNodeType.ProcessingInstruction :
Console.Write("<?{0} {1}?>", reader.get_Name(),
reader.get_Value());
break;
case XmlNodeType.Comment :
Console.Write("<!--{0}-->", reader.get_Value());
break;
case XmlNodeType.XmlDeclaration :
Console.Write("<?xml version='1.0'?>");
break;
case XmlNodeType.Document :
break;
case XmlNodeType.DocumentType :
Console.Write("<!DOCTYPE {0} [{1}]", reader.get_Name(),
reader.get_Value());
break;
case XmlNodeType.EntityReference :
Console.Write(reader.get_Name());
break;
case XmlNodeType.EndElement :
Console.Write("</{0}>", reader.get_Name());
break;
}
}
}
finally {
if (reader != null) {
reader.Close();
}
}
} //main
} // End class Sample
예제에서는 items.xml 파일을 입력으로 사용합니다.
<?xml version="1.0"?>
<!-- This is a sample XML document -->
<!DOCTYPE Items [<!ENTITY number "123">]>
<Items>
<Item>Test with an entity: &number;</Item>
<Item>test with a child element <more/> stuff</Item>
<Item>test with a CDATA section <![CDATA[<456>]]> def</Item>
<Item>Test with a char entity: A</Item>
<!-- Fourteen chars in this element.-->
<Item>1234567890ABCD</Item>
</Items>
플랫폼
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
참고 항목
참조
XmlValidatingReader 클래스
XmlValidatingReader 멤버
System.Xml 네임스페이스