0

と を使用して XML ドキュメントを作成しようとしていXmlWriterますXmlDocument。ルート要素に書き込む 4 つの子ノードがあり、最初の 3 つがうまくいきました。ただし、最後のものは から生成されていDataSetます。ここに私の短縮コードがあります:

DataSetds; 

XmlNode RecordSet = xdoc.CreateNode(XmlNodeType.Element, "RecordSet", "");
XmlNode RecordSetTotal = xdoc.CreateNode(XmlNodeType.Attribute, "TOTAL", "");
RecordSetTotal.Value = gvExcelData.Rows.Count.ToString();
RecordSet.Attributes.SetNamedItem(RecordSetTotal);
RecordSet.InnerXml = ds.GetXml();
root.AppendChild(RecordSet);

XMLを出力するもの:

<RecordSet TOTAL="2">
    <RecordSet>
        <Record>
            <Column 1></Column 1>
            <Column 2></Column 2>
            <Column 3></Column 3>
            <Column 4></Column 4>
            <Column 5></Column 5>
        </Record>
        <Record>
            <Column 1></Column 1>
            <Column 2></Column 2>
            <Column 3></Column 3>
            <Column 4></Column 4>
            <Column 5></Column 5>
        </Record>
    </RecordSet>
</RecordSet>

必要なルート要素は 1 つだけで、レコードの総数に等しいRecordSet属性が必要です。Totalどうにかして取得した XML 文字列を直接解析できればds.GetXml()XmlNode属性を設定して作業を進めることができます。しかし、私は間違っている可能性があります。助言がありますか?

4

1 に答える 1

0

まさにそれをすることをお勧めします。XmlDocument に読み込み、処理し、コピーします。

于 2011-08-03T15:05:58.683 に答える