Коннектор Logic Apps Liquid - преобразование XML

С помощью карт Liquid мы можем преобразовать простой XML в JSON, например этот XML:

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

Мы можем применить эту карту Liquid и получить действительный 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>

person felixmondelo    schedule 22.02.2018    source источник


Ответы (1)


Решение - преобразовать XML в JSON и использовать скобки на нашей карте Liquid:

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

Для входных данных XML преобразован в JSON следующим образом:

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