自定义类型化DataSet的ReadXml()

时间:2014-03-11 05:21:51

标签: c# .net xml dataset

我正在向强类型DataSet写一些额外信息,因此在其分部类中添加了一些名为ReadXmlEx()WriteXmlEx()的函数。其中,我需要使用基类ReadXml()WriteXml()读取/写入xml,然后将我自己的节点附加到输出。

我的问题是,实现这一目标的最佳方法是什么?目前,我正在使用以下方法:

public void ReadXmlEx(string filename)
{
    System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
    doc.Load(filename);
    this.Custom1 = doc.FirstChild.NextSibling.ChildNodes[0].Value;

    //Here I need to move to ChildNodes[1] and pass the remaining tree to base class's ReadXml()
}

阅读上面的评论,我该如何实现?基类的ReadXml()可以使用Stream个对象,但我不确定如何将ChildNode转换为StreamXmlReader

1 个答案:

答案 0 :(得分:0)

您可以尝试这种方式将XmlNodenode)转换为StreamMemoryStream):

var node = doc.FirstChild.NextSibling.ChildNodes[1];

MemoryStream ms = new MemoryStream();
StreamWriter sw = new StreamWriter(ms);
sw.Write(node.OuterXml);
sw.Flush();

myDataTable.ReadXml(ms);
相关问题