Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim ds As New DataSet Dim dt As New DataTable("Names") dt.Columns.Add("ID", Type.GetType("System.Int32")) dt.Columns.Add("Name", Type.GetType("System.String")) dt.PrimaryKey = New DataColumn() {dt.Columns("ID")} Dim dr As DataRow = dt.NewRow() dr("ID") = 1 dr("Name") = "Doe, John" dt.Rows.Add(dr) dr = dt.NewRow() dr("ID") = 2 dr("Name") = "Sue, Bobby" dt.Rows.Add(dr) dr = dt.NewRow() dr("ID") = 3 dr("Name") = "Diddlewhist, Klyde" dt.Rows.Add(dr) dr = dt.NewRow() dr("ID") = 4 dr("Name") = "Bummblewartz, Jerry" dt.Rows.Add(dr) ds.Tables.Add(dt) ds.Tables("Names").DefaultView.RowFilter = "ID=2" Dim ms As New IO.MemoryStream ds.WriteXml(ms) Dim bytes() As Byte = ms.ToArray() Dim XmlString As New System.Text.StringBuilder(CInt(ms.Length)) For Index As Integer = 0 To CInt(ms.Length - 1) XmlString.Append(Chr(bytes(Index))) Next TextBox1.Text = XmlString.ToString End SubIt still wrote out all the rows. Is there another way (other than through the DefaultView of the DataTable) to filter rows?