???? ID: 311566 - ????? ???????: 04 ?????? 2010 - ??????: 2.0

??? ????? C# .NET ?? ????? ?? ???? DataSet ??? XML ???? ???? ????

?????? ??????This article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

?? ????? ??

??? ?? ??????? ???? | ??? ?? ??????? ????

??????

????????? ???? ?? ?? ???? ?? ???? ?? ADO.NET ??? ??????????? ??????? ???? (XML) ???? ?? ????? ?? ???DataSet???????? ???

??????????

????? ???? outlines ???????? ?????????, ??????????, ??????? ??????, ?? ???? ???? ???:
  • Microsoft Windows 2000 Professional, Windows 2000 ?????, Windows 2000 ????? ????? ?? Windows NT 4.0 ?????
  • Microsoft Visual Studio .NET
?? ???? ????? ?? ?? ?? ????? ???? ?? ?????? ???:
  • Visual Studio .NET
  • ADO.NET fundamentals ?? ????????
  • XML fundamentals

????? ?? ?????

?? ????? ?? ???? ???ReadXmlXML ?????? ?? ??? ???? ?? ????? ?? ??? ?????? ??DataSet. XML ???? ?? ???? ???? ?? ??? ?? ???? ??????????????????, ????XmlWriter????????, ?? ???TextWriter???????? ???

?? ?? ??? overloaded ??????? ?? ?? ??? ?? ????? ?? ???? ???ReadXml????, ???? ?????????? ?? ???? ??? ???? ?? ??? overloaded ??????? takes ???? ?? ???????? ??? ????? ????? ??? ??? overloaded ??????? ?? ?? ?? ???????? ???????? (XmlReadMode) ???????? ?? ???? ??? ??? ?? ?? ?? ????

????? ???? outlines overloaded ???????, ?? ?? ???????? ???? ?? ???? ??? ??:
  • ??? ?? ???? ???? ?? ??? XML ?????? ?? ??? ???? ?? ????? ?? ??? ???? ????????? ???? ?? ????? ???? ??DataSet:
    Overloads Public Sub ReadXml(String)
    					
  • ???? ????????? ??? ?? ?? ???? ???? ?? ??? ?????TextReaderXML ?????? ?? ??? ???? ?? ????? ?? ???DataSet.TextReader???? ????? ?? ??? ??????? ???
    Overloads Public Sub ReadXml(TextReader)
    					
  • The code to follow uses a specifiedSystem.IO.Streamto read XML schema and data into theDataSet. The???????class is designed for byte input and output.
    Overloads Public Sub ReadXml(Stream)
    					
  • The code to follow uses a specifiedXmlReaderto read XML schema and data into theDataSet. This method provides fast, non-cached, forward-only access to XML data that conforms to the World Wide Web Consortium (W3C) XML 1.0 specification and the namespaces in the XML specification.
    Overloads Public Sub ReadXml(XmlReader)
    					
The list to follow outlines the second set of overloaded methods, which takeXmlReadModewith one of the above-mentioned parameters. TheXmlReadMode??? ??? ?????? ?? XML ???? ????? ?? ??? ???? ?? ????? ?? ?? ????DataSet.
  • DiffGram. ??? DiffGram ???? ??, ?? ???????? ???? ?? ??? DiffGram ?? ???? ???? ??DataSet.
  • Fragment. ?????? (???? ?? ????? ??? FOR XML ?????? ?? Microsoft SQL ????? ??????? ?? ?????? XDR ?????? ????? ??????? ???? ??? ??) ?????? ????? ?? XML ???? ????? (XDR) ??? XML ???????? ???? ???
  • IgnoreSchema. ??? ?????? ?????? ?? ????? ???? ???? ?? ?? ???? ?? ?????? ??? ????DataSet?????? ???
  • InferSchema. ??? ?????? ?????? ?? ????? ???? ???? ??, ?? ???? ?? ?????? infers, ?? ???? ??? ?? ???? ??? ???DataSet??? ?????? ??? ???? ?? ??InferSchema??? ???? ????? ???? ??, ?? ?? ???????? ?? ???? ?? ?? ????? ?????? ?? ??? ????? ??? ?? ??????? ?????? ?? ????? ???
  • ReadSchema. ??? ?????? ?????? ???? ??, ?? ???? ?? ??? ???? ???
  • ????:. ???????:. ???? ??????? ?????? ????????? ???? ???

????????? ????? ?? ??? ??????

?? ?????? MySchema.xml ??? ?? ??? ????? ?? ????? ???? ??? ????? ?? ??? MySchema.xml, ????? Microsoft ???????? ???? ??? ??? ????? ?? ???? ????:
309183  (http://support.microsoft.com/kb/309183/EN-US/ ) ??? ADO.NET DataSet ????? C# .NET ?? ????? ?? XML ?? ??? ??? ?? ??? ???? ???? ????
????????? ???? ?? ????? ??? ????? ?? ?? ??????? ??? ?? ???????? overloaded ????????? ?? ????? ???? ????ReadXml. ???? ?????? ?? ??? ?????? MSDN ???? ?? ??? ?? ?????? ?? ???-??? overload ?????? ?? ????
  1. Visual Studio .NET ?? ??????? ?????
  2. ????? C# .NET ??? ?? Windows ????????? ??? ??? ????????? ?????? Form1 ???????? ??? ?? ????????? ??? ????? ???
  3. ????????? ???? ?? ???? ????????? ?? ??? ??? ?????? ???System.Data??? ?????, ?? ??? ?? ???? ??, ?? ?? ???????? ?? ?????? ??? ???????
  4. ?? ??????????????? ?? ??DataGridForm1 ?? ????????? ????? ????????? ??????????? ?? ??? Button1 ?? ???btnReader, ????????? ???? ?? ??????????? ?? ??? ???????.

    ????????? ??????????? ?? ??? Button2 ?? ???btnFile, ????????? ???? ?? ??????????? ?? ??? ???????.
  5. ??????? ????? ?????? ???????? ?????????,System.Data, ??System.Data.SqlClient???????? ???? ?? ???? ??? ??? ??? ??? ?? ???????? ??? declarations ????? ????? ?? ??? ?????? ???? ????
    using System;
    using System.Data;
    using System.Data.SqlClient;
    					
  6. ??? ?? ??? ????? ?????? ?? ???? ??? ????? ??? ??????:
    private void btnReader_Click(object sender, System.EventArgs e)
    {
        string myXMLfile = @"C:\MySchema.xml";
        DataSet ds = new DataSet();
        // Create new FileStream with which to read the schema.
        System.IO.FileStream fsReadXml = new System.IO.FileStream 
            (myXMLfile, System.IO.FileMode.Open);
        try
        {
            ds.ReadXml(fsReadXml);
            dataGrid1.DataSource = ds;
            dataGrid1.DataMember = "Cust";
        }
        catch (Exception ex)
        {
    	MessageBox.Show(ex.ToString());
        }
        finally
        {
    	fsReadXml.Close();
        }
    }
    		
    private void btnFile_Click(object sender, System.EventArgs e)
    {
        string myXMLfile = "C:\\MySchema.xml";
        DataSet ds = new DataSet(); 
        try
        {
            ds.ReadXml(myXMLfile);
            dataGrid1.DataSource = ds;
            dataGrid1.DataMember = "Cust";
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    					
  7. XML ???? (???? ?? ??? ?? ?? ??????? ????MyXmlFile) ?? ??? ??? ???? ?????? ?? ??? ????????
  8. ???? ????????? ?? ??????? ????? ???????? ???????? ??,??????????? ????????? ?? ??????
  9. ???? XML ???? ?? ????????? ???? ?? ???? ?? ??? ??? ????? ????? ????? ??? ?? XML ???? ????? ??? ????? ???

???????? ?????

  • ???? XML ?????? ?? ???? ?? ??? ?? ?? ????? ?? ???? ???ReadXmlSchema?????? ???
  • ???? XML ????????? ??? ???? ?? ??????? ???? ?? ???DataSet?? ???? ???? ?????? ?? ???? ???? ?? ??? persisting, ????? ?? ???? ???GetXml?????? ???

??????

???????? ??????? ?? ??? ?????? ?? Microsoft ???????? ??? ????? ?? ??? ????? ???? ???????? ?? ????? ????:
309183  (http://support.microsoft.com/kb/309183/EN-US/ ) ??? ADO.NET DataSet ????? C# .NET ?? ????? ?? XML ?? ??? ??? ?? ??? ???? ???? ????
262450  (http://support.microsoft.com/kb/262450/EN-US/ ) ADO Recordset XML Persistence ?? ?? C++ ????? ???? ????
ADO.NET ?????????? ?? ???????? ?? ???? ??? ???? ??????? ?? ??? ????? Microsoft .NET Framework ?????????? ????????? ??? (SDK) ?? ???????? ????? ?? ?????? MSDN ???? ?? ??? ??????:
ADO.NET ?? ??? ???? ?? ????? ??? ??
(vs.71) http://msdn2.Microsoft.com/en-us/library/e80y5yhx .aspx (http://msdn2.microsoft.com/en-us/library/e80y5yhx(vs.71).aspx)

???? ???? ???? ??:
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
??????: 
kbhowtomaster kbsystemdata kbmt KB311566 KbMthi
???? ?????? ???????????? ?????? ????????
??????????: ?? ???? ?? ???? ??????? ?? ????? ?? Microsoft ????-?????? ?????????? ?????? ?????? ???? ??? ??. Microsoft ???? ??? ????-???????? ?? ????-???????? ????? ?????? ?? ???? ???????? ???? ?? ???? ????? ????? ??? ?? ??? ?????? ?? ???? ???? ???? ??? ????? ??. ???????, ????-???????? ???? ????? ???? ???? ???? ???. ?????, ????????, ?????-???? ?? ??????? ?? ???????? ?? ???? ???, ???? ?? ??? ?????? ???? ???? ??? ????? ??? ?? ???? ??. Microsoft ??????? ??? ???? ?? ?????? ?? ??????????, ????????? ?? ??? ?????? ?? ???? ????? ?? ???? ???????? ?? ??? ???? ????? ?? ??? ????????? ???? ??. Microsoft ????-?????? ?????????? ?? ????? ?????? ?? ?? ??? ??.
?????????? ?? ??????? ????????? ??????? ??:311566  (http://support.microsoft.com/kb/311566/en-us/ )