이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본
이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

DataSet.WriteXml 메서드 (TextWriter, XmlWriteMode)

지정된 TextWriterXmlWriteMode를 사용하여 DataSet의 현재 데이터를 쓰고 선택적으로 스키마를 씁니다. 스키마를 쓰려면 mode 매개 변수 값을 WriteSchema로 설정합니다.

네임스페이스:  System.Data
어셈블리:  System.Data(System.Data.dll)
public void WriteXml(
	TextWriter writer,
	XmlWriteMode mode
)

매개 변수

writer
형식: System.IO.TextWriter
문서를 작성하는 데 사용되는 System.IO.TextWriter 개체입니다.
mode
형식: System.Data.XmlWriteMode
XmlWriteMode 값 중 하나입니다.

WriteXml 메서드를 사용하여 DataSet에서 XML 문서로 데이터만 쓰거나 데이터와 스키마를 모두 쓸 수 있습니다. 반면에 WriteXmlSchema 메서드는 스키마만 씁니다. 데이터와 스키마를 모두 쓰려면 mode 매개 변수를 WriteSchema로 설정합니다.

ReadXml 메서드와 ReadXmlSchema 메서드에도 각각 동일하게 적용됩니다. DataSet 으로 XML 데이터만 읽거나 스키마와 데이터를 모두 읽으려면 ReadXml 메서드를 사용합니다. 스키마만 읽으려면 ReadXmlSchema 메서드를 사용합니다.

참고참고

읽혀지거나 쓰여지는 DataRow에 있는 열 형식이 IDynamicMetaObjectProvider를 구현하고 IXmlSerializable은 구현하지 않는 경우 InvalidOperationException이 Throw될 것입니다.

다음 예제에서는 한 개의 DataTable, 두 개의 열 및 열 개의 행이 있는 단순 DataSet을 만듭니다. WriteXml 메서드를 호출하여 DataSet 스키마와 데이터를 디스크에 기록합니다. 둘째 DataSet을 만든 다음 ReadXml 메서드를 사용하여 스키마와 데이터로 채웁니다.


private void DemonstrateReadWriteXMLDocumentWithFileStream()
{
    // Create a DataSet with one table and two columns.
    DataSet originalDataSet = new DataSet("dataSet");
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id", 
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement= true;

    DataColumn itemColumn = new DataColumn("item");
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);
    originalDataSet.Tables.Add(table);
    // Add ten rows.

    DataRow newRow;
    for(int i = 0; i < 10; i++)
    {
        newRow = table.NewRow();
        newRow["item"]= "item " + i;
        table.Rows.Add(newRow);
    }
    originalDataSet.AcceptChanges();

    // Print out values of each table in the DataSet  
    // using the function defined below.
    PrintValues(originalDataSet, "Original DataSet");

    // Write the schema and data to XML file with FileStream.
    string xmlFilename = "XmlDocument.xml";
    System.IO.FileStream streamWrite = new System.IO.FileStream
        (xmlFilename, System.IO.FileMode.Create);

    // Use WriteXml to write the XML document.
    originalDataSet.WriteXml(streamWrite);

    // Close the FileStream.
    streamWrite.Close();

    // Dispose of the original DataSet.
    originalDataSet.Dispose();
    // Create a new DataSet.
    DataSet newDataSet = new DataSet("New DataSet");

    // Read the XML document back in. 
    // Create new FileStream to read schema with.
    System.IO.FileStream streamRead = new System.IO.FileStream
        (xmlFilename,System.IO.FileMode.Open);
    newDataSet.ReadXml(streamRead);

    // Print out values of each table in the DataSet 
    // using the function defined below.
    PrintValues(newDataSet,"New DataSet");
}

private void PrintValues(DataSet dataSet, string label)
{
    Console.WriteLine("\n" + label);
    foreach(DataTable table in dataSet.Tables)
    {
        Console.WriteLine("TableName: " + table.TableName);
        foreach(DataRow row in table.Rows)
        {
            foreach(DataColumn column in table.Columns)
            {
                Console.Write("\table " + row[column] );
            }
            Console.WriteLine();
        }
    }
}


.NET Framework

4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
이 정보가 도움이 되었습니까?
(1500자 남음)

커뮤니티 추가 항목

추가
© 2013 Microsoft. All rights reserved.