代码之家  ›  专栏  ›  技术社区  ›  felixmondelo

Logic Apps Liquid connector转换XML

  •  1
  • felixmondelo  · 技术社区  · 6 年前

    使用Liquid maps,我们可以将简单的XML转换为JSON,例如:

    <root>
       <product>
          <name>TV</name>
          <price>499.9</price>
       </product>
    </root>
    

    我们可以应用此液体映射并获得有效的JSON:

    {
       "name": "{{content.product.name}}",
       "price": {{content.product.price}},
    }
    

    如果源XML具有名称空间,如何实现相同的映射,例如:

    <ns0:root xmlns:ns0="http://customnamespace.com" xmlns:ns1="http://customnamespace2.com">
       <ns1:product>
          <ns1:name>TV</ns1:name>
          <ns1:price>499.9</ns1:price>
       </ns1:product>
    </ns0:root>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   felixmondelo    6 年前

    解决方案是将XML转换为JSON,并在液体图中使用括号表示法:

    {    
        "First" : "{{ content['ns0:X12_00401_850'].ST.ST01 }}"
    }
    

    对于转换为JSON的输入XML,如下所示:

    {
      "content": {
        "ns0:X12_00401_850": {
          "@xmlns:ns0": "http://schemas.microsoft.com/BizTalk/EDI/X12/2006",
          "ST": {
            "ST01": "850",
            "ST02": "476810004"
          },