1

これは私の問題です:

次のような XMLReader があります。

root: "response>claims",
row: "claim",
repeatitems: false,
id: "claimId"

そして、次のような XML データ構造:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <claims>
        <claim>
            <actions />
            <adjusters />
            <claimId>254</claimId>
            <parties />
            <claimSubmitInd>N</claimSubmitInd>
            <claimTypeCd>AUTO</claimTypeCd>
            <units>
                <unit>
                    <claimId>254</claimId>
                    <insertId>sselvaraj</insertId>
                    <insertTmstmp>2012-10-24 18:07:47.167</insertTmstmp>
                    <roleCategory>veh_1st</roleCategory>
                    <sourceSystemCd>FNOL</sourceSystemCd>
                    <unitCategory>veh</unitCategory>
                    <coverages />
                    <damages />
                    <unitDataType>veh</unitDataType>
                    <unitId>1</unitId>
                    <unitSubType>sch</unitSubType>
                    <unitType>veh</unitType>
                    <updateId>sselvaraj</updateId>
                    <updateTmstmp>2012-10-24 18:07:47.167</updateTmstmp>
                </unit>
                <unit>
                    <claimId>254</claimId>
                    <insertId>sselvaraj</insertId>
                    <insertTmstmp>2012-10-24 18:14:07.437</insertTmstmp>
                    <roleCategory>veh_1st</roleCategory>
                    <sourceSystemCd>FNOL</sourceSystemCd>
                    <unitCategory>veh</unitCategory>
                    <coverages />
                    <damages />
                    <unitDataType>veh</unitDataType>
                    <unitId>2</unitId>
                    <unitSubType>sch</unitSubType>
                    <unitType>veh</unitType>
                    <updateId>sselvaraj</updateId>
                    <updateTmstmp>2012-10-24 18:14:07.437</updateTmstmp>
                </unit>
                <unit>
                    <claimId>254</claimId>
                    <insertId>sselvaraj</insertId>
                    <insertTmstmp>2012-10-24 18:17:47.597</insertTmstmp>
                    <roleCategory>veh_1st</roleCategory>
                    <sourceSystemCd>FNOL</sourceSystemCd>
                    <unitCategory>veh</unitCategory>
                    <coverages />
                    <damages />
                    <unitDataType>veh</unitDataType>
                    <unitId>3</unitId>
                    <unitSubType>sch</unitSubType>
                    <unitType>veh</unitType>
                    <updateId>sselvaraj</updateId>
                    <updateTmstmp>2012-10-24 18:17:47.597</updateTmstmp>
                </unit>
            </units>
            <clmAdjUserId>0</clmAdjUserId>
            <companyCd>06</companyCd>
            <injuryInd>N</injuryInd>
            <insInjAsPasInd>N</insInjAsPasInd>
            <insInjAsPedInd>N</insInjAsPedInd>
            <keyedDt>2012-10-24</keyedDt>
            <lossTmUnkInd>N</lossTmUnkInd>
            <othPropDmgInd>N</othPropDmgInd>
            <polFireAtSceneInd>N</polFireAtSceneInd>
            <rptOnlyInd>N</rptOnlyInd>
            <towClaimInd>N</towClaimInd>
            <witnessInd>N</witnessInd>
        </claim>
    </claims>
    <request>
        <expand>claim,units</expand>
        <filter>claimId eq 254</filter>
        <format>xml</format>
        <orderBy>claimId desc</orderBy>
        <orderByCol>claimId</orderByCol>
        <orderByDir>desc</orderByDir>
        <top>10</top>
    </request>
</response>

私の列が次のように定義されている場合:

    colModel: [
        { 
            name:  "claimId", 
            index:  "claimId", 
            width: 20, 
            xmlmap: ">claimId", 
            align: "right",
            sorttype: 'int',                
            hidden: false,
            searchoptions: {
                sopt: soptnums,
                attr: {style: "text-align: right;"}
            }                
        }
        ,{ 
            name:  "unitId", 
            index:  "unitId", 
            width: 20, 
            xmlmap: "units>unit>unitId", 
            align: "center",
            sorttype: 'int',                
            hidden: false,
            searchoptions: {
                sopt: soptnums,
                attr: {style: "text-align: center;"}
            }                
        }

次に、クレーム id ノード値が正常に表示され、ユニット コレクション内の unitId ノード値に対応するすべての一致が連結されていることがわかります。

だから、私は次のようなものを見ます

Claim Id           Unit Id

254                123

私の質問は次のとおりです。連結によって「1 | 2 | 3」または「1 セパレーター 2 セパレーター 3」のような文字列が生成されるように、UnitId xmlmap のセレクターを作成するにはどうすればよいですか? 私はいくつかのことを試しましたが、たとえば、xmlmap: "units>unit>unitId:first" は 1 (最初に一致したノード) のみを示していることがわかりました。

前もって感謝します。

4

1 に答える 1

1

xmlmap関数として定義されているような場合に使用することをお勧めします。たとえば、あなたの場合、あなたは使用することができます

xmlmap: function (obj) {
    return $(">units>unit>unitId", obj).map(function() {
               return $(this).text();
           }).get().join("|");
}

デモを見る:

ここに画像の説明を入力してください

于 2012-11-09T23:15:46.467 に答える