【问题标题】:Customizing ReadXml() of typed DataSet自定义类型化 DataSet 的 ReadXml()
【发布时间】:2014-03-11 05:21:50
【问题描述】:

我正在向我的强类型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 转换为 Stream 或 XmlReader。

【问题讨论】:

    标签: c# .net xml dataset


    【解决方案1】:

    您可以尝试这种方式将XmlNode(node)转换为Stream(MemoryStream):

    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);
    

    【讨论】:

      猜你喜欢
      • 2015-01-31
      • 2014-08-06
      • 2017-04-16
      • 2021-03-04
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多