DataTable.ReadXmlSchema 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XML 스키마를 DataTable으로 읽어옵니다.
오버로드
ReadXmlSchema(XmlReader) | |
ReadXmlSchema(String) |
지정된 파일로부터 XML 스키마를 DataTable로 읽어옵니다. |
ReadXmlSchema(TextReader) |
지정된 DataTable를 사용하여 XML 스키마를 TextReader로 읽어옵니다. |
ReadXmlSchema(Stream) |
지정된 스트림을 사용하여 XML 스키마를 DataTable로 읽어옵니다. |
설명
메서드를 ReadXmlSchema
사용하여 에 대한 스키마를 만듭니다 DataTable. 스키마에는 테이블, 관계 및 제약 조건 정의가 포함됩니다.
XML 문서에 스키마를 쓰려면 메서드를 WriteXmlSchema 사용합니다.
XML 스키마는 XSD 표준에 따라 해석됩니다.
메서드는 ReadXmlSchema
일반적으로 를 채우는 DataTable데 사용되는 메서드를 ReadXml 호출하기 전에 호출됩니다.
ReadXmlSchema(XmlReader)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
public:
void ReadXmlSchema(System::Xml::XmlReader ^ reader);
public void ReadXmlSchema (System.Xml.XmlReader? reader);
public void ReadXmlSchema (System.Xml.XmlReader reader);
member this.ReadXmlSchema : System.Xml.XmlReader -> unit
Public Sub ReadXmlSchema (reader As XmlReader)
매개 변수
예제
다음 콘솔 애플리케이션을 만듭니다 DataTable에 쓰고 해당 테이블에 대 한 스키마를 MemoryStream합니다. 그런 다음, 이 예제에서는 를 원본으로 사용하여 XmlTextReader 새 DataTable 를 만들고 저장된 XML 스키마에서 XmlReader해당 스키마를 읽습니다.
private static void DemonstrateReadWriteXMLSchemaWithReader()
{
DataTable table = CreateTestTable("XmlDemo");
PrintSchema(table, "Original table");
// Write the schema to XML in a memory stream.
System.IO.MemoryStream xmlStream =
new System.IO.MemoryStream();
table.WriteXmlSchema(xmlStream);
// Rewind the memory stream.
xmlStream.Position = 0;
DataTable newTable = new DataTable();
System.Xml.XmlTextReader reader =
new System.Xml.XmlTextReader(xmlStream);
newTable.ReadXmlSchema(reader);
// Print out values in the table.
PrintSchema(newTable, "New table");
}
private static DataTable CreateTestTable(string tableName)
{
// Create a test DataTable with two columns and a few rows.
DataTable table = new DataTable(tableName);
DataColumn column = new DataColumn("id", typeof(System.Int32));
column.AutoIncrement = true;
table.Columns.Add(column);
column = new DataColumn("item", typeof(System.String));
table.Columns.Add(column);
// Add ten rows.
DataRow row;
for (int i = 0; i <= 9; i++)
{
row = table.NewRow();
row["item"] = "item " + i;
table.Rows.Add(row);
}
table.AcceptChanges();
return table;
}
private static void PrintSchema(DataTable table, string label)
{
// Display the schema of the supplied DataTable:
Console.WriteLine(label);
foreach (DataColumn column in table.Columns)
{
Console.WriteLine("\t{0}: {1}", column.ColumnName,
column.DataType.Name);
}
Console.WriteLine();
}
Private Sub DemonstrateReadWriteXMLSchemaWithReader()
Dim table As DataTable = CreateTestTable("XmlDemo")
PrintSchema(table, "Original table")
' Write the schema to XML in a memory stream.
Dim xmlStream As New System.IO.MemoryStream()
table.WriteXmlSchema(xmlStream)
' Rewind the memory stream.
xmlStream.Position = 0
Dim newTable As New DataTable
Dim reader As New System.Xml.XmlTextReader(xmlStream)
newTable.ReadXmlSchema(reader)
' Print out values in the table.
PrintSchema(newTable, "New Table")
End Sub
Private Function CreateTestTable(ByVal tableName As String) _
As DataTable
' Create a test DataTable with two columns and a few rows.
Dim table As New DataTable(tableName)
Dim column As New DataColumn("id", GetType(System.Int32))
column.AutoIncrement = True
table.Columns.Add(column)
column = New DataColumn("item", GetType(System.String))
table.Columns.Add(column)
' Add ten rows.
Dim row As DataRow
For i As Integer = 0 To 9
row = table.NewRow()
row("item") = "item " & i
table.Rows.Add(row)
Next i
table.AcceptChanges()
Return table
End Function
Private Sub PrintSchema(ByVal table As DataTable, _
ByVal label As String)
' Display the schema of the supplied DataTable:
Console.WriteLine(label)
For Each column As DataColumn In table.Columns
Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
column.ColumnName, column.DataType.Name)
Next column
End Sub
설명
메서드를 ReadXmlSchema 사용하여 에 대한 스키마를 만듭니다 DataTable. 스키마에는 테이블, 관계 및 제약 조건 정의가 포함됩니다.
XML 문서에 스키마를 쓰려면 메서드를 WriteXmlSchema 사용합니다.
XML 스키마는 XSD 표준에 따라 해석됩니다.
msdata:DataType 및 xs:type 형식이 일치하지 않는 경우 데이터 손상이 발생할 수 있습니다. 예외는 throw되지 않습니다.
메서드는 ReadXmlSchema
일반적으로 를 채우는 DataTable데 사용되는 메서드를 ReadXml 호출하기 전에 호출됩니다.
참고
XML 스키마를 사용하여 중첩된 관계를 만드는 방법은 암시적 중첩 요소를 갖는 것입니다. 또한 중첩된 관계를 다시 연결하여 명시적 열 이름을 사용할 수 있습니다. 해당 DataTable이 중첩된 관계에 참여하려면 요소를 암시적으로 중첩해야 합니다.
추가 정보
적용 대상
ReadXmlSchema(String)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
지정된 파일로부터 XML 스키마를 DataTable로 읽어옵니다.
public:
void ReadXmlSchema(System::String ^ fileName);
public void ReadXmlSchema (string fileName);
member this.ReadXmlSchema : string -> unit
Public Sub ReadXmlSchema (fileName As String)
매개 변수
- fileName
- String
스키마 정보를 읽을 파일의 이름입니다.
예제
다음 콘솔 애플리케이션에서는 새 DataTable, 파일을 해당 테이블의 스키마를 씁니다. 그런 다음, 이 예제에서는 파일을 원본으로 사용하여 새 DataTable 를 만들고 저장된 XML 스키마에서 해당 스키마를 읽습니다.
private static void DemonstrateReadWriteXMLSchemaWithFile()
{
DataTable table = CreateTestTable("XmlDemo");
PrintSchema(table, "Original table");
// Write the schema to XML in a file.
string xmlFile = "C:\\SchemaDemo.xml";
table.WriteXmlSchema(xmlFile);
DataTable newTable = new DataTable();
newTable.ReadXmlSchema(xmlFile);
// Print out values in the table.
PrintSchema(newTable, "New table");
}
private static DataTable CreateTestTable(string tableName)
{
// Create a test DataTable with two columns and a few rows.
DataTable table = new DataTable(tableName);
DataColumn column = new DataColumn("id", typeof(System.Int32));
column.AutoIncrement = true;
table.Columns.Add(column);
column = new DataColumn("item", typeof(System.String));
table.Columns.Add(column);
// Add ten rows.
DataRow row;
for (int i = 0; i <= 9; i++)
{
row = table.NewRow();
row["item"] = "item " + i;
table.Rows.Add(row);
}
table.AcceptChanges();
return table;
}
private static void PrintSchema(DataTable table, string label)
{
// Display the schema of the supplied DataTable:
Console.WriteLine(label);
foreach (DataColumn column in table.Columns)
{
Console.WriteLine("\t{0}: {1}", column.ColumnName,
column.DataType.Name);
}
Console.WriteLine();
}
Private Sub DemonstrateReadWriteXMLSchemaWithFile()
Dim table As DataTable = CreateTestTable("XmlDemo")
PrintSchema(table, "Original table")
Dim xmlFile As String = "SchemaDemo.xml"
' Write the schema to XML.
table.WriteXmlSchema(xmlFile)
Dim newTable As New DataTable
newTable.ReadXmlSchema(xmlFile)
' Print out values in the table.
PrintSchema(newTable, "New Table")
End Sub
Private Function CreateTestTable(ByVal tableName As String) _
As DataTable
' Create a test DataTable with two columns and a few rows.
Dim table As New DataTable(tableName)
Dim column As New DataColumn("id", GetType(System.Int32))
column.AutoIncrement = True
table.Columns.Add(column)
column = New DataColumn("item", GetType(System.String))
table.Columns.Add(column)
' Add ten rows.
Dim row As DataRow
For i As Integer = 0 To 9
row = table.NewRow()
row("item") = "item " & i
table.Rows.Add(row)
Next i
table.AcceptChanges()
Return table
End Function
Private Sub PrintSchema(ByVal table As DataTable, _
ByVal label As String)
' Display the schema of the supplied DataTable:
Console.WriteLine(label)
For Each column As DataColumn In table.Columns
Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
column.ColumnName, column.DataType.Name)
Next column
End Sub
설명
메서드를 ReadXmlSchema 사용하여 에 대한 스키마를 만듭니다 DataTable. 스키마에는 테이블, 관계 및 제약 조건 정의가 포함됩니다.
XML 문서에 스키마를 쓰려면 메서드를 WriteXmlSchema 사용합니다.
XML 스키마는 XSD 표준에 따라 해석됩니다.
msdata:DataType 및 xs:type 형식이 일치하지 않는 경우 데이터 손상이 발생할 수 있습니다. 예외는 throw되지 않습니다.
메서드는 ReadXmlSchema
일반적으로 를 채우는 DataTable
데 사용되는 메서드를 ReadXml 호출하기 전에 호출됩니다.
XML 스키마를 사용하여 중첩된 관계를 만들려면 암시적 중첩 요소를 사용합니다. 명시적 열 이름을 사용하도록 중첩된 관계를 다시 구성할 수도 있습니다. 해당 DataTable이 중첩된 관계에 참여하려면 요소를 암시적으로 중첩해야 합니다.
추가 정보
적용 대상
ReadXmlSchema(TextReader)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
지정된 DataTable를 사용하여 XML 스키마를 TextReader로 읽어옵니다.
public:
void ReadXmlSchema(System::IO::TextReader ^ reader);
public void ReadXmlSchema (System.IO.TextReader? reader);
public void ReadXmlSchema (System.IO.TextReader reader);
member this.ReadXmlSchema : System.IO.TextReader -> unit
Public Sub ReadXmlSchema (reader As TextReader)
매개 변수
- reader
- TextReader
스키마 정보를 읽는 데 사용되는 TextReader입니다.
예제
다음 콘솔 애플리케이션을 만듭니다 DataTable에 쓰고 해당 테이블에 대 한 스키마를 MemoryStream합니다. 그런 다음, 이 예제에서는 를 원본으로 사용하여 StreamReader 새 DataTable 를 만들고 저장된 XML 스키마에서 TextReader해당 스키마를 읽습니다.
private static void DemonstrateReadWriteXMLSchemaWithReader()
{
DataTable table = CreateTestTable("XmlDemo");
PrintSchema(table, "Original table");
// Write the schema to XML in a memory stream.
System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
table.WriteXmlSchema(xmlStream);
// Rewind the memory stream.
xmlStream.Position = 0;
DataTable newTable = new DataTable();
System.IO.StreamReader reader =
new System.IO.StreamReader(xmlStream);
newTable.ReadXmlSchema(reader);
// Print out values in the table.
PrintSchema(newTable, "New table");
}
private static DataTable CreateTestTable(string tableName)
{
// Create a test DataTable with two columns and a few rows.
DataTable table = new DataTable(tableName);
DataColumn column = new DataColumn("id", typeof(System.Int32));
column.AutoIncrement = true;
table.Columns.Add(column);
column = new DataColumn("item", typeof(System.String));
table.Columns.Add(column);
// Add ten rows.
DataRow row;
for (int i = 0; i <= 9; i++)
{
row = table.NewRow();
row["item"] = "item " + i;
table.Rows.Add(row);
}
table.AcceptChanges();
return table;
}
private static void PrintSchema(DataTable table, string label)
{
// Display the schema of the supplied DataTable:
Console.WriteLine(label);
foreach (DataColumn column in table.Columns)
{
Console.WriteLine("\t{0}: {1}",
column.ColumnName, column.DataType.Name);
}
Console.WriteLine();
}
Private Sub DemonstrateReadWriteXMLSchemaWithReader()
Dim table As DataTable = CreateTestTable("XmlDemo")
PrintSchema(table, "Original table")
' Write the schema to XML in a memory stream.
Dim xmlStream As New System.IO.MemoryStream()
table.WriteXmlSchema(xmlStream)
' Rewind the memory stream.
xmlStream.Position = 0
Dim newTable As New DataTable
Dim reader As New System.IO.StreamReader(xmlStream)
newTable.ReadXmlSchema(reader)
' Print out values in the table.
PrintSchema(newTable, "New Table")
End Sub
Private Function CreateTestTable(ByVal tableName As String) _
As DataTable
' Create a test DataTable with two columns and a few rows.
Dim table As New DataTable(tableName)
Dim column As New DataColumn("id", GetType(System.Int32))
column.AutoIncrement = True
table.Columns.Add(column)
column = New DataColumn("item", GetType(System.String))
table.Columns.Add(column)
' Add ten rows.
Dim row As DataRow
For i As Integer = 0 To 9
row = table.NewRow()
row("item") = "item " & i
table.Rows.Add(row)
Next i
table.AcceptChanges()
Return table
End Function
Private Sub PrintSchema(ByVal table As DataTable, _
ByVal label As String)
' Display the schema of the supplied DataTable:
Console.WriteLine(label)
For Each column As DataColumn In table.Columns
Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
column.ColumnName, column.DataType.Name)
Next column
End Sub
설명
메서드를 ReadXmlSchema 사용하여 에 대한 스키마를 만듭니다 DataTable. 스키마에는 테이블, 관계 및 제약 조건 정의가 포함됩니다.
XML 문서에 스키마를 쓰려면 메서드를 WriteXmlSchema 사용합니다.
XML 스키마는 XSD 표준에 따라 해석됩니다.
msdata:DataType 및 xs:type 형식이 일치하지 않는 경우 데이터 손상이 발생할 수 있습니다. 예외는 throw되지 않습니다.
메서드는 ReadXmlSchema
일반적으로 를 채우는 DataTable데 사용되는 메서드를 ReadXml 호출하기 전에 호출됩니다.
XML 스키마를 사용하여 중첩된 관계를 만들려면 암시적 중첩 요소를 사용합니다. 명시적 열 이름을 사용하도록 중첩된 관계를 다시 구성할 수도 있습니다. 해당 DataTable이 중첩된 관계에 참여하려면 요소를 암시적으로 중첩해야 합니다.
추가 정보
적용 대상
ReadXmlSchema(Stream)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
지정된 스트림을 사용하여 XML 스키마를 DataTable로 읽어옵니다.
public:
void ReadXmlSchema(System::IO::Stream ^ stream);
public void ReadXmlSchema (System.IO.Stream? stream);
public void ReadXmlSchema (System.IO.Stream stream);
member this.ReadXmlSchema : System.IO.Stream -> unit
Public Sub ReadXmlSchema (stream As Stream)
매개 변수
- stream
- Stream
스키마를 읽는 데 사용되는 스트림입니다.
예제
다음 콘솔 애플리케이션을 만듭니다 DataTable에 쓰고 해당 테이블에 대 한 스키마를 MemoryStream합니다. 그런 다음, 이 예제에서는 새 DataTable 를 만들고 저장된 XML 스키마에서 해당 스키마를 읽습니다.
private static void DemonstrateReadWriteXMLSchemaWithStream()
{
DataTable table = CreateTestTable("XmlDemo");
PrintSchema(table, "Original table");
// Write the schema to XML in a memory stream.
System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
table.WriteXmlSchema(xmlStream);
// Rewind the memory stream.
xmlStream.Position = 0;
DataTable newTable = new DataTable();
newTable.ReadXmlSchema(xmlStream);
// Print out values in the table.
PrintSchema(newTable, "New table");
}
private static DataTable CreateTestTable(string tableName)
{
// Create a test DataTable with two columns and a few rows.
DataTable table = new DataTable(tableName);
DataColumn column = new DataColumn("id", typeof(System.Int32));
column.AutoIncrement = true;
table.Columns.Add(column);
column = new DataColumn("item", typeof(System.String));
table.Columns.Add(column);
// Add ten rows.
DataRow row;
for (int i = 0; i <= 9; i++)
{
row = table.NewRow();
row["item"] = "item " + i;
table.Rows.Add(row);
}
table.AcceptChanges();
return table;
}
private static void PrintSchema(DataTable table, string label)
{
// Display the schema of the supplied DataTable:
Console.WriteLine(label);
foreach (DataColumn column in table.Columns)
{
Console.WriteLine("\t{0}: {1}", column.ColumnName,
column.DataType.Name);
}
Console.WriteLine();
}
Private Sub DemonstrateReadWriteXMLSchemaWithStream()
Dim table As DataTable = CreateTestTable("XmlDemo")
PrintSchema(table, "Original table")
' Write the schema to XML in a memory stream.
Dim xmlStream As New System.IO.MemoryStream()
table.WriteXmlSchema(xmlStream)
' Rewind the memory stream.
xmlStream.Position = 0
Dim newTable As New DataTable
newTable.ReadXmlSchema(xmlStream)
' Print out values in the table.
PrintSchema(newTable, "New Table")
End Sub
Private Function CreateTestTable(ByVal tableName As String) _
As DataTable
' Create a test DataTable with two columns and a few rows.
Dim table As New DataTable(tableName)
Dim column As New DataColumn("id", GetType(System.Int32))
column.AutoIncrement = True
table.Columns.Add(column)
column = New DataColumn("item", GetType(System.String))
table.Columns.Add(column)
' Add ten rows.
Dim row As DataRow
For i As Integer = 0 To 9
row = table.NewRow()
row("item") = "item " & i
table.Rows.Add(row)
Next i
table.AcceptChanges()
Return table
End Function
Private Sub PrintSchema(ByVal table As DataTable, _
ByVal label As String)
' Display the schema of the supplied DataTable:
Console.WriteLine(label)
For Each column As DataColumn In table.Columns
Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
column.ColumnName, column.DataType.Name)
Next column
End Sub
설명
메서드를 ReadXmlSchema 사용하여 에 대한 스키마를 만듭니다 DataTable. 스키마에는 테이블, 관계 및 제약 조건 정의가 포함됩니다.
XML 문서에 스키마를 쓰려면 메서드를 WriteXmlSchema 사용합니다.
XML 스키마는 XSD 표준에 따라 해석됩니다.
msdata:DataType 및 xs:type 형식이 일치하지 않는 경우 데이터 손상이 발생할 수 있습니다. 예외는 throw되지 않습니다.
메서드는 ReadXmlSchema
일반적으로 를 채우는 DataTable데 사용되는 메서드를 ReadXml 호출하기 전에 호출됩니다.
XML 스키마를 사용하여 중첩된 관계를 만들려면 암시적 중첩 요소를 사용합니다. 명시적 열 이름을 사용하도록 중첩된 관계를 구성할 수도 있습니다. 해당 DataTable이 중첩된 관계에 참여하려면 요소를 암시적으로 중첩해야 합니다.
추가 정보
적용 대상
.NET