我已派生出一個類,它將採用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