이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

DataTable.WriteXml 메서드 (TextWriter, Boolean)

 

게시 날짜: 2016년 11월

현재 내용을 씁니다는 DataTable 사용 하 여 지정 된 XML로 TextWriter합니다. 테이블 및 모든 하위 항목에 대 한 데이터를 저장 하려면 설정의 writeHierarchy 매개 변수를 true합니다.

네임스페이스:   System.Data
어셈블리:  System.Data(System.Data.dll에 있음)

public void WriteXml(
	TextWriter writer,
	bool writeHierarchy
)

매개 변수

writer
Type: System.IO.TextWriter

TextWriter 콘텐츠를 쓰는입니다.

writeHierarchy
Type: System.Boolean

경우 true, 현재 테이블 및 모든 하위 항목의 내용을 씁니다. 경우 false (기본값)는 현재 테이블의 데이터를 쓸 수 있습니다.

WriteXml 메서드는 데이터와 스키마를 모두만 데이터를 작성 하는 방법을 제공는 DataTable XML 문서로 반면는 WriteXmlSchema 메서드는 스키마만 기록 합니다. 데이터와 스키마를 작성 하려면 포함 하는 오버 로드 중 하나를 사용 여 XmlWriteMode 매개 변수를 해당 값을 설정 하 고 WriteSchema합니다.

일반적으로 WriteXml 메서드는 현재 테이블에 대해서만 데이터를 씁니다. 현재 테이블 및 모든 하위 항목, 관련 테이블에 대 한 데이터를 작성 하려면이 메서드를 호출할는 writeHierarchy 매개 변수 설정 true합니다.

System_CAPS_note참고

InvalidOperationException 경우의 열 유형이 throw 됩니다는 DataRow 에서 읽거나 구현에 기록 되 고 IDynamicMetaObjectProvider 구현 하지 않으므로 IXmlSerializable합니다.

다음 콘솔 응용 프로그램 두 개 만듭니다 DataTable 인스턴스에 각 추가 DataSet, 만듭니다는 DataRelation 두 개의 관련 테이블을 선택한 다음 사용 하 여는 WriteXml 메서드를 작성 하는 부모 테이블 내에 포함 된 데이터는 TextWriter. 예제에 동작을 설정할 때의 writeHierarchy 매개 변수를 true합니다.

static void Main()
{
    DataSet ds = new DataSet();
    DataTable customerTable = GetCustomers();
    DataTable orderTable = GetOrders();

    ds.Tables.Add(customerTable);
    ds.Tables.Add(orderTable);
    ds.Relations.Add("CustomerOrder",
        new DataColumn[] { customerTable.Columns[0] },
        new DataColumn[] { orderTable.Columns[1] }, true);

    System.IO.StringWriter writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, true);
    PrintOutput(writer, "Customer table, with hierarchy");

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("Name", typeof(System.String));

    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    table.AcceptChanges();
    return table;
}

private static DataTable GetOrders()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create three columns; OrderID, CustomerID, and OrderDate.
    table.Columns.Add(new DataColumn("OrderID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("CustomerID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("OrderDate", typeof(System.DateTime)));

    // Set the OrderID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { table.Columns[0] };

    table.Rows.Add(new object[] { 1, 1, "12/2/2003" });
    table.Rows.Add(new object[] { 2, 1, "1/3/2004" });
    table.Rows.Add(new object[] { 3, 2, "11/13/2004" });
    table.Rows.Add(new object[] { 4, 3, "5/16/2004" });
    table.Rows.Add(new object[] { 5, 3, "5/22/2004" });
    table.Rows.Add(new object[] { 6, 4, "6/15/2004" });
    table.AcceptChanges();
    return table;
}

private static void PrintOutput(System.IO.TextWriter stream, 
    string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(stream.ToString());
}

.NET Framework
2.0 이후 사용 가능
맨 위로 이동
표시: