1

XMLを解析し、いくつかのデータを取得するアプリケーションを作成しています。各xmlノードは、データ(const)、データを取得するレコードセットの列名(var)、条件(enum)などに応じて可能なデータ値のサブセットを指定します。また、データとともに、データをユーザーに表示する必要がある形式を指定する場合もあります。

重要なのは、ノードタイプごとに値を異なる方法で処理し、いくつかのアクチノンを実行する必要があるため、ノードごとに、後でフォーマットするために戻り値を一時変数に格納する必要があるということです...フォーマットできることはわかっていますそれはすぐそこにあり、それを返しますが、それは自分自身を繰り返すことを意味し、私はそうすることを嫌います。

したがって、質問:型が不明でジェネリックを使用できない場合に、ボックス化/ボックス化解除を回避しながら、返す値を一時変数に格納するにはどうすればよいですか?

PS:パーサー、XMLスキーマ、およびレコードセットを埋めるビューを設計しているので、すべての変更が妥当です。


アップデート

コードも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 に答える