2016-09-27 4 views
1

JSONのサポートにより、Webサービスを呼び出すことができます。 Orbeonは内部的にJSONをXMLに変更します。質問には、XML内部にJSON文字列を含むノード要素があります。 XMLに変換して変数に代入するにはどうすればいいですか?呼び出すことができるOrbeonコンバータはありますか? Webサービスへの提出後、インスタンスデータのOrbeonでJSONをXMLに変換するには?

例:

<json type="object"> 
    <data> 
    { "name": "Mark", "age": 21 } 
    </data> 
</json> 
+0

それでJSON自体にJSONが入っていますか? – ebruchez

+0

はい、正確です。また、ConverterTestにConverter.jsonStringToXmlメソッドがあることに気付きました。私の問題を解決するかもしれないorbeon形式からこのメソッドを呼び出す方法が分かりましたか? –

答えて

1

これは文書化され、そしてあなたは、XPathからネイティブScalaの機能を使用することができ、変更されることがありませんが:

converter:jsonStringToXml(instance('json')) 
Orbeonで
<xh:html 
    xmlns:xh="http://www.w3.org/1999/xhtml" 
    xmlns:xf="http://www.w3.org/2002/xforms" 
    xmlns:xxf="http://orbeon.org/oxf/xml/xforms"> 
    <xh:head> 
     <xf:model> 
      <xf:instance id="json"> 
       <json type="object"> 
        <data>{ "name": "Mark", "age": 21 }</data> 
       </json> 
      </xf:instance> 
     </xf:model> 
    </xh:head> 
    <xh:body> 
     <xf:output 
      xmlns:converter="org.orbeon.oxf.json.Converter" 
      value=" 
       xxf:serialize(
        converter:jsonStringToXml(instance('json')/data), 
        'xml' 
       )"/> 
    </xh:body> 
</xh:html> 

は2016.3フォーム

、我々は:

ここでは完全な例でありますこれを行うXPath関数。

+0

今後のリリースでサポートされることを嬉しく思います! –

+1

2016.3で追加された関数のドキュメント:https://doc.orbeon.com/xforms/xpath/extension-json.html – awilkinson

関連する問題