데이터 집합에서 데이터를 가져 와서 XML 파일을 출력하려고합니다. 그러나 xml 파일은 항상 비어 있습니다. 내 코드에서 오류를 찾도록 도와 주시겠습니까?왜 출력 XML 파일이 비어 있습니까?
class Program
{
static void Main(string[] args)
{
string umail = "";
XDocument loaded = XDocument.Load(@"C:\1.xml");
var q = from c in loaded.Descendants("AdminUserDB.dbo.U_User")
select (string)c.Element("URI");
foreach (string em in q)
umail = em;
SqlConnection cn = new SqlConnection("server=(local);database=AdminUserDB;Persist Security Info=True; uid=sa;[email protected]");
cn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM dbo.U_User WHERE [email protected]", cn);
da.SelectCommand.Parameters.AddWithValue("@umail", umail);
da.Fill(ds);
string filename = "output.xml";
System.IO.FileStream myFileStream = new System.IO.FileStream(filename, System.IO.FileMode.Create);
System.Xml.XmlTextWriter myXmlWriter = new System.Xml.XmlTextWriter(myFileStream, System.Text.Encoding.Unicode);
ds.WriteXml(myXmlWriter);
myXmlWriter.Close();
cn.Close();
}
}
} 내가 직접하지만, 내가 참조해야하는 네임 스페이스를 찾을 수 없습니다 DataSet.WriteXml 방법을 사용하려고
. MSDN에서 WriteXml을 검색했지만 WriteXml 메서드 페이지에 나열된 System.Data.DataSet 네임 스페이스를 찾을 수 없습니다.
감사
SUT는
질문 : SQL Server에서 직접 선택한 쿼리 스크립트를 시도했지만 올바른 쿼리 결과를 얻을 수있었습니다. – SUT
연결 문자열이 유효하지 않기를 바랍니다 :) –
'XmlTextWriter' 대신'XmlWriter'를 사용해 보셨습니까? XmlTextWriter를 사용하는 DataSet.WriteXml에 대한 오버로드가 표시되지 않습니다. – Tim