【发布时间】:2016-09-05 15:35:56
【问题描述】:
假设我有以下 XML 文件:
Sample1.xml
<?xml version="1.0" encoding="utf-8"?>
<Root>
<NodeA>
<Node1>test1</Node1>
<Node1>test2</Node1>
</NodeA>
</Root>
Sample2.xml
<?xml version="1.0" encoding="utf-8"?>
<Root>
<NodeB>
<Node1>test1</Node1>
<Node1>test2</Node1>
</NodeB>
</Root>
我的目标是使用一种工厂方法反序列化这 2 个 xml 文件。
为此,我有以下通用代码:
public static T get<T>() where T : class // class = all reference types
{
string Ttype = typeof(T).Name;
using (var streamReader1 = new StreamReader(directoryPath + @"\Sample1.xml"))
using (var streamReader2 = new StreamReader(directoryPath + @"\Sample2.xml"))
using (var xmlReader ??? = XmlReader.Create(streamReader))
{
...
}
}
使用相同的根元素构建两个 xml 文件。
我的问题是,因为 xmlReader 创建函数只接受 1 个流阅读器。 以*的名义,我如何使用xml阅读器从2个xml中读取?
我是否将 2 个流合并为 1 并从第 1 位读取到最后 1 位,如果是,如何?
提前致谢,
蒙大拿州。
【问题讨论】:
-
你不能按照你的要求去做。就是这么简单。如果您编辑问题以解释您的最终目标,我们可以给您一些建议。
标签: c# serialization