我正在创建一个解析 XML 并检索一些数据的应用程序。每个 xml 节点指定数据 (const)、从 (var) 获取数据的记录集的列名、取决于某些条件 (enum) 和其他条件的可能数据值的子集。除了数据之外,它还可以指定必须向用户显示数据的格式。
问题是,对于每种节点类型,我需要以不同方式处理值并执行一些动作,因此,对于每个节点,我需要将返回值存储在临时变量中以便稍后对其进行格式化......我知道我可以格式化它就在那里并返回它,但这意味着重复我自己,我讨厌这样做。
所以,问题是:如何在临时变量中存储要返回的值,同时在类型未知且我不能使用泛型时避免装箱/拆箱?
PS:我正在设计解析器、XML Schema 和将填充记录集的视图,因此对所有内容的更改都是合理的。
更新
我无法发布代码或 XML 值,但这是 XML 结构和实际标签。
<?xml version='1.0' encoding='utf-8'?>
<root>
<entity>
<header>
<field type="const">C1</field>
<field type="const">C2</field>
<field type="count" />
<field type="sum" precision="2">some_recordset_field</field>
<field type="const">C3</field>
<field type="const">C4</field>
<field type="const">C5</field>
</header>
<detail>
<field type="enum" fieldName="some_recordset_field">
<match value="0">M1</match>
<match value="1">M2</match>
</field>
<field type="const">C6</field>
<field type="const">C7</field>
<field type="const">C8</field>
<field type="var" format="0000000000">some_recordset_field</field>
<field type="var" format="MMddyyyy">some_recordset_field</field>
<field type="var" format="0000000000" precision="2">some_recordset_field</field>
<field type="var" format="0000000000">some_recordset_field</field>
<field type="enum" fieldName ="some_recordset_field">
<match value="0">M3</match>
<match value="1">M4</match>
</field>
<field type="const">C9</field>
</detail>
</entity>
</root>