如何在c#中创建基于属性的xml

时间:2015-06-17 05:48:16

标签: c# sql xml

如何在存储过程返回结果

的c#中创建基于属性的xml

存储过程包含:

Select * from Patients

我想要XML:

<Patient patientid =”1”  domainid =”1” domainname =” Test Domain”/>

我得到了这个:

<Patient>
    <patientid>1</patientid>
    <domainid>1</domainid>
    <domainname>Test Domain</domainname>
  </Patient>

2 个答案:

答案 0 :(得分:2)

最简单的方法是更改​​proc以返回FOR XML AUTO

生成的xml字符串
Select * 
FROM  Patients AS Patient
FOR XML AUTO;

SqlFiddle here

答案 1 :(得分:1)

假设您从存储过程中获得DataSet结果。

您可以设置ColumnMapping,然后写入xml。

DataTable dt ; // Patients information retrieved from db.

foreach (DataColumn column in dt.Columns)
{
    column.ColumnMapping = MappingType.Attribute;
}

dt.WriteXml(@"C:\Patients.xml");  

希望这会有所帮助!!