我已派生出一个类,它将采用XML文件并动态生成ExpandoObject,以便利用ExpandoObjects和递归列表传递XML。确定ExpandoObject中的对象类型
将此回传给处理以检索数据作品,但我从旧系统检索到的XML不一致。我可以得到一个单一节点作为这样
<test>
<insured>
<a>BLAH BLAH BLAH</a>
<b>BLAH BLAH BLAH</b>
<c>BLAH BLAH BLAH</c>
</insured>
</test>
或
<test>
<insured>
<a>BLAH BLAH BLAH</a>
<b>BLAH BLAH BLAH</b>
<c>BLAH BLAH BLAH</c>
</insured>
<insured>
<a>BLAH BLAH BLAH</a>
<b>BLAH BLAH BLAH</b>
<c>BLAH BLAH BLAH</c>
</insured>
<insured>
<a>BLAH BLAH BLAH</a>
<b>BLAH BLAH BLAH</b>
<c>BLAH BLAH BLAH</c>
</insured>
</test>
所以对于关键的“保险”,我要么得到一个ExpandoObject
或List<ExpandoObject>
。我试图确定最简单的解决方案来确定返回的类型。
理想情况下,只是像x.insured.OfType<List<ExpandoObject>>()
返回一个布尔或这种性质的东西。
干杯
你为什么不使它*总是*给你一个'List' - 只有一个单值列表,如果只有一个条目? –
2012-04-16 18:37:47
为了尽量使这些代码尽可能重复使用并且充满活力,我觉得这会使事情发生的地方复杂化。上面给出的示例XML并不反映真实源代码的复杂性质。 – RobW 2012-04-16 18:49:04
这是没有给出代表性的例子的问题:)但我认为提出一个*简单*模型引用子元素名称总是得到*序列*的匹配是最一致的方法。 – 2012-04-16 18:50:17