私はWCFベースのWebサービスを使用しており、メソッド内でストアドプロシージャを実行してデータセットを入力し、最後に1つの列と複数の行のようにデータセットを返します。しかし、このようなXMLに基づく出力を期待する他の製品を介してこのWebサービスを呼び出しているため、現在の要件は異なります。(サンプルXML形式です)しかし、私は同じ方法で何かが欲しいです。では、どうすればxmlを生成して返すことができますか。私はXMLの専門家ではないので、誰かが指定されたコードを修正していただければ幸いです。XMLを扱うのはこれが初めてです。何か欲しい
<xml>
<Approvers>
<Approver>
<Approvername>John</Approvername>
</Approver>
</Approvers>
</xml>
私がフォローしたいサンプルXMLフォーマット。
public DataSet getRequisitionApprovers(string pEmail, string pLocationType)
{
//Read Datasource properties from Web.config file to access Oracle EBS Database
string SDataSource = System.Configuration.ConfigurationManager.AppSettings["SQLDataSource"].ToString();
string SUserID = System.Configuration.ConfigurationManager.AppSettings["SQLUserID"].ToString();
string SPassword = System.Configuration.ConfigurationManager.AppSettings["SQLPassword"].ToString();
//Build connection string based on retrieved parameters from web.config file
string connectionString = "Data Source=" + SDataSource + ";Persist Security Info=True;" + "User ID=" + SUserID + ";Password=" + SPassword;
using (SqlConnection connection = new SqlConnection())
{
connection.ConnectionString = connectionString;
connection.Open();
SqlCommand command = connection.CreateCommand();
command.CommandType = System.Data.CommandType.StoredProcedure;
// Name of procedure or function to be execu
command.CommandText = "Get_RequisitionApprovers";
command.Parameters.Add(new SqlParameter("theEmail", SqlDbType.VarChar)).Value = pEmail;
command.Parameters.Add(new SqlParameter("LocationType", SqlDbType.VarChar)).Value = pLocationType;
//Create New DataSET & DataTable
DataSet dsApprovers = new DataSet();
DataTable dtApprovers = new DataTable();
//Create DataTable Columns and define the data type
dtApprovers.Columns.Add("Approver1", typeof(string));
//Add DataTable to DataSource
dsApprovers.Tables.Add(dtApprovers);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
//Create new Data Row
DataRow theRow = dsApprovers.Tables[0].NewRow();
theRow[0] = reader[0].ToString() ; //Add -> Approver
dsApprovers.Tables[0].Rows.Add(theRow);
}
return dsApprovers;
}
}