我正在为我的强类型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。
发布于 2014-03-11 05:37:09
您可以尝试这样将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);https://stackoverflow.com/questions/22317077
复制相似问题