2017-12-08 9 views
1

私はJSONIXを使用して、他のシステムから受け取ったXMLをマーシャリングおよびアンマーシャルします。私はマーシャルとアンマーシャリングJsonix要素と値の制限

<charge> 392.2361
<formatted> 392.24 </formatted>
</charge>

にしたいXMLは、私はまだ "392.2361" の値をアンマーシャリングする方法を見つけ出すことはできません。何か考えている人はいますか?ありがとうございます。

答えて

0

ここに必要なものはmixed propertyです。

{ 
    type: 'classInfo', 
    localName: 'MyType', 
    propertyInfos: [{ 
     type: 'elementRef', 
     name: 'charge', 
     elementName: 'formatted', 
     collection : true, 
     mixed: true 
    }] 
} 

あなたが値GETとしてのようなものですよ何:

[ '392.2361', { name: { localPart: 'formatted' }, value: '392.24' }] 

テストされていない、無保証はなく、あなたがアイデアを得ます。

0

最後に正しく適用しました。

{ 
    type: 'classInfo', 
    localName: 'ItemizedForDateType', //<date> 
    propertyInfos:[ 
      { 
       type: 'element', 
       name: 'priceTextType', 
       elementName: 'price', 
       typeInfo: 'DOTWXML.PriceFormattedType' 
      }, 
      { 
       type: 'element', 
       name: 'priceMinSellTextType', 
       elementName: 'priceMinimumSelling', 
       typeInfo: 'DOTWXML.PriceFormattedType' 
      } 
    ] 
}, 
{ 
    type: 'classInfo', 
    localName: 'PriceFormattedType',       
    propertyInfos:[ 
     { 
      type: 'elementRef', 
      name: 'charge', 
      elementName: 'formatted', 
      collection : true, 
      mixed: true 
     }, 
    ] 
} 

混合プロパティのための私の実装です

あなたはここで

を#lexicore感謝し、アンマーシャリングの結果は、次のようなものです:

"itemizedForDateType": [ 
     { 
     "TYPE_NAME": "DOTWXML.ItemizedForDateType", 
     "priceTextType": { 
      "TYPE_NAME": "DOTWXML.PriceFormattedType", 
      "charge": [ 
      "236.8738", 
      { 
       "name": { 
       "namespaceURI": "", 
       "localPart": "formatted", 
       "prefix": "", 
       "key": "formatted", 
       "string": "formatted" 
       }, 
       "value": "236.87" 
      } 
      ] 
     } 
     } 
    ] 

私は "コレクションを削除することでミスを犯しました:true "とアンマーシャルの後に" {} "が表示されていました。 "コレクション:true"がであることがわかったらという文脈で、すべてを正しく整列してください。

関連する問題