1

我执行一个过程并将值填充到DataSet. 过程返回 XML 数据类型值。当我将其转换DataSet为 XML 时,我将 XML 数据类型值作为字符串获取,但我希望它作为子节点。我该怎么做呢?

程序输出:

在此处输入图像描述

我转换DataSet为 XML 如下

DataSet ds = null;
using (SqlConnection connection = new SqlConnection(sConnectionString))
{
    connection.Open();
    SqlCommand Sqlcommand = new SqlCommand();
    Sqlcommand.CommandType = CommandType.StoredProcedure;
    if (SqlParamlist != null)
    {
        foreach (SqlParameter Sqlparameter in SqlParamlist)
        {
            Sqlcommand.Parameters.AddWithValue(Sqlparameter.ParameterName, Sqlparameter.Value);                                
        }
    }
    Sqlcommand.CommandText = sProc;
    Sqlcommand.Connection = connection;
    sProcParams = sProc + " " + sProcParams;
    using (SqlDataAdapter da = new SqlDataAdapter(Sqlcommand))
    {
        ds = new DataSet("DATATABLE");
        da.Fill(ds, "DATAROW");
        Sqlcommand.Parameters.Clear();
        da.Dispose();
    }
    connection.Close();
}
XmlDataDocument xDoc = new XmlDataDocument();
xDoc.LoadXml(ds.GetXml());

这是我xDoc.OuterXml

<DATATABLE>
    <DATAROW>
        <xmllimes>&lt;row&gt;&lt;time&gt;16:00:00&lt;/time&gt;&lt;/row&gt;</xmllimes>
    </DATAROW>
    <DATAROW>
        <xmllimes>&lt;row&gt;&lt;time&gt;14:20:00&lt;/time&gt;&lt;/row&gt;</xmllimes>
    </DATAROW>
    <DATAROW>
        <xmllimes>&lt;row&gt;&lt;time&gt;12:30:00&lt;/time&gt;&lt;/row&gt;</xmllimes>
    </DATAROW>
</DATATABLE>

但我想ds.GetXML()返回以下内容

<DATATABLE>
    <DATAROW>
        <xmllimes>
            <row>
                <time>16:00:00</time>
            </row>
        </xmllimes>
    </DATAROW>
    <DATAROW>
        <xmllimes>
            <row>
                <time>14:20:00</time>
            </row>
        </xmllimes>
    </DATAROW>
    <DATAROW>
        <xmllimes>
            <row>
                <time>12:30:00</time>
            </row>
        </xmllimes>
    </DATAROW>
</DATATABLE>
4

0 回答 0