Как я могу получить XmlNode из DataSet? - PullRequest
0 голосов
/ 03 августа 2011

Я пытаюсь написать XML-документ, используя XmlWriter и XmlDocument.У меня есть 4 дочерних узла для записи в корневом элементе, и первые три работали нормально.Последний, однако, генерируется из 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>

Мне нужен только один корневой элемент RecordSet, и он должен иметь атрибут Total, равныйобщее количество записей.Если бы я мог как-то разобрать строку XML, полученную из ds.GetXml(), в XmlNode напрямую, я мог бы тогда установить свои атрибуты и быть в пути.Но я могу ошибаться.Есть предложения?

1 Ответ

0 голосов
/ 03 августа 2011

Я бы предложил сделать именно это.Загрузите его в XmlDocument, обработайте, скопируйте.

...