1

我正在创建一个解析 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>
4

1 回答 1

-1

您是否尝试过使用var类型?这样你就不需要知道每个节点的类型。此外,您的场景的一些小样本也会很有用。

于 2011-02-25T16:50:55.140 回答