Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för: Azure Logic Apps (Standard)
I företagsintegreringsscenarier, till exempel B2B(Business-to-Business) eller BizTalk-migreringar, kan du behöva parsa XML-dokument. Standardarbetsflöden för logikappar i Azure Logic Apps kan parsa XML med hjälp av åtgärden Parsa XML med schema, vilket kräver ett XSD-schema.
Anta till exempel att du regelbundet får kundbeställningar eller fakturor i XML-format. Anta att du måste komma åt enskilda XML-element direkt i arbetsflödesdesignern för Azure Logic Apps.
Begränsningar
Förbrukningslogikappens resurs och arbetsflöde stöder inte den här åtgärden.
Förutsättningar
Ett Azure-konto och prenumeration. Skaffa ett kostnadsfritt Azure-konto.
Ett standardarbetsflöde för logikappar som börjar med en utlösare så att du kan lägga till parsa XML med schemaåtgärden i arbetsflödet.
En integrationskontoresurs där du definierar och lagrar artefakter, till exempel handelspartner, avtal, certifikat och andra objekt, för användning i dina företagsintegrerings- och B2B-arbetsflöden. Den här resursen måste uppfylla följande krav:
Är associerad med samma Azure-prenumeration som din logikappresurs.
Finns på samma plats eller i Azure-regionen som logikappresursen där du planerar att använda åtgärden Parsa XML med schema.
Om du arbetar med en standardlogikappresurs och ett arbetsflöde kan du länka ditt integrationskonto till logikappresursen, ladda upp XSD-scheman direkt till logikappresursen eller båda, baserat på följande scenarier:
Om du redan har ett integrationskonto med artefakterna som du behöver eller vill använda kan du länka ditt integrationskonto till flera standardlogikappresurser där du vill använda artefakterna. Du behöver inte ladda upp XSD-scheman till varje enskild logikapp. Mer information finns i Länka logikappresursen till ditt integrationskonto.
Om du inte har ett integrationskonto eller bara planerar att använda artefakter i flera arbetsflöden inom samma logikappresurs kan du lägga till scheman direkt i logikappresursen med hjälp av antingen Azure-portalen eller Visual Studio Code.
Om du inte har eller behöver ett integrationskonto kan du använda uppladdningsalternativet. Annars använder du länkningsalternativet. Hur som helst kan du använda dessa artefakter i alla underordnade arbetsflöden inom samma logikappresurs.
Du behöver fortfarande ett integrationskonto för att lagra andra artefakter, till exempel partner, avtal och certifikat, om du använder åtgärderna AS2, X12 och EDIFACT .
XSD-schemat som ska användas med åtgärden Parsa XML med schema . Kontrollera att det här schemat innehåller ett rotelement som ser ut som i följande exempel:
<xs:element name="Root"> <....> </xs:element>
Lägga till en parsnings-XML med schemaåtgärd
Öppna standardlogikappen och arbetsflödet i designern i Azure Portal.
Om du har ett tomt arbetsflöde som inte har någon utlösare följer du de här allmänna stegen för att lägga till valfri utlösare. Annars fortsätter du till nästa steg.
I det här exemplet används triggern Förfrågning .
Under steget i arbetsflödet där du vill lägga till parsa XML med schemaåtgärdenföljer du de här allmänna stegen för att lägga till åtgärden Parsa XML med schema.
I rutan Innehåll anger du det XML-innehåll som du vill parsa med hjälp av xml-data som du får i HTTP-begäran.
Om du vill välja utdata från tidigare åtgärder i arbetsflödet går du till åtgärden Parsa XML med schema , väljer i rutan Innehåll och väljer alternativet för listan med dynamiskt innehåll (blixtikon).
I listan med dynamiskt innehåll väljer du token för det innehåll som du vill parsa.
I det här exemplet väljs Body-tokenet från utlösaren.
I listan Källa väljer du den plats där du laddade upp ditt XSD-schema, antingen din LogicApp-resurs eller ditt IntegrationAccount.
I listan Namn väljer du ditt XSD-schema.
Spara arbetsflödet när du är klar.
Nu har du konfigurerat din Parse XML med schemaåtgärd . I en verklig app kanske du vill lagra parsade data i en verksamhetsspecifik app (LOB), till exempel Salesforce. Om du vill skicka de parsade utdata till Salesforce lägger du till en Salesforce-åtgärd.
För att testa parsningsåtgärden, kör och utlös ditt arbetsflöde. För utlösaren Begäran skickar du till exempel en begäran till utlösarens slutpunkts-URL.
Åtgärden Parsa XML med schema körs när arbetsflödet har utlösts och när XML-innehåll är tillgängligt för parsning.
Avancerade parametrar
I följande tabell beskrivs de avancerade parametrar som är tillgängliga i den här åtgärden:
| Parameter | Värde | beskrivning |
|---|---|---|
| DTD-bearbetning |
-
Ignorera - Analysera - Förbjuda |
Ange hur xml-dokumenttypsdefinitionen (DTD) ska hanteras. |
| Normalisera XML | Nej eller Ja | Om XML-innehåll ska normaliseras. |
| Ignorera tomt utrymme? | Nej eller Ja | Att parsa eller ignorera obetydliga blanksteg, såsom mellanslag, flikar och tomma rader i XML-dokument. |
| Ignorera XML-bearbetningsinstruktioner? | Nej eller Ja | Om du vill följa eller ignorera XML-bearbetningsinstruktionerna. |
| Ignorera XML-attribut | Nej eller Ja | Om du vill skriva eller ignorera XML-attribut. |
| Vill du använda fullständigt kvalificerade namn? | Nej eller Ja | Om du vill använda enklare lokala namn eller fullständigt kvalificerade XML-namn. |
| Kvalificerat namn för rotnod | < root-node-kvalificerat-namn> | Rotnodens kvalificerade namn om schemat innehåller flera definitioner av orefererade element. |
Åtgärda problem
I det här avsnittet beskrivs problem som du kan stöta på och möjliga lösningar eller lösningar för att lösa dessa problem.
XML-elementordningen bevaras inte
Om xml-koden har upprepade element som visas i blandad ordning kanske inte parsa XML med schemaåtgärden bevarar den ursprungliga ordningen och grupperar elementen efter deras namn i alfabetisk ordning.
Det här beteendet förväntas eftersom åtgärden Parsa XML med schema konverterar XML till JSON. Det här formatet kan inte representera en enskild ordnad lista med olika typer av objekt. I stället grupperar åtgärden elementen efter namn i alfabetisk ordning.
Anta till exempel att du har objekt med följande namn i den här specifika ordningen: A, B, B, A:
före
<Items>
<A>1</A>
<B>2</B>
<A>3</A>
<B>4</B>
</Items>
När åtgärden parsar XML-koden grupperar och ordnar de resulterande JSON-objekten efter namn enligt följande: A, A, Boch B:
efter
{
"A": ["1", "3"],
"B": ["2", "4"]
}
Åtgärden Parsa XML med schema har ingen inställning som bevarar ordningen på blandade upprepande element. Den här begränsningen beror på att XML konverteras till JSON.
I följande lista beskrivs alternativ för att åtgärda eller kringgå det här problemet:
Om du styr schemat utformar du schemat så att du bara har en upprepande lista utan flera typer av upprepande element.
I stället för att upprepa
Aseparat ochBanvänder du till exempel ett enda upprepande omslutningselement, till exempelItem. Varje objekt anger sedan omAellerBär representerat. Systemet kan sedan behålla alla objekt i en enda ordnad lista och bevara den ursprungliga ordningen. Det här alternativet passar bäst för ett långsiktigt, förutsägbart beteende.Om den ursprungliga ordningen krävs eller är kritisk ska du inte parsa XML-koden.
- Undvik att dela upp XML i JSON.
- Hantera XML-dokumentet som helhet.
- Skicka XML-dokumentet oförändrat eller transformera innehållet med hjälp av XML-baserade verktyg som XSLT.
Tänk på den här begränsningen.
Kom ihåg följande om du inte kan ändra schemat eller arbetsflödet:
- Blandade upprepande element grupperas efter elementnamn och förlorar den ursprungliga ordningen.
- Utforma den underordnade logiken med det här beteendet i åtanke.