Parsování XML pomocí schémat ve standardních pracovních postupech s Azure Logic Apps

Platí pro: Azure Logic Apps (Standard)

Ve scénářích podnikové integrace, jako jsou migrace B2B (business-to-business) nebo BizTalk, možná budete muset analyzovat dokumenty XML. Pracovní postupy standardní aplikace logiky v Azure Logic Apps mohou parsovat XML pomocí akce s názvem Parse XML se schématem, která vyžaduje schéma XSD.

Předpokládejme například, že pravidelně dostáváte objednávky zákazníků nebo faktury ve formátu XML. Předpokládejme, že je třeba mít přístup k jednotlivým XML elementům přímo v návrháři pracovního postupu pro Azure Logic Apps.

Omezení

Prostředek a pracovní postup aplikace logiky Consumption tuto akci nepodporuje.

Požadavky

  • Účet Azure a předplatné. Přičte si bezplatný účet Azure.

  • Pracovní postup standardní logické aplikace, který začíná spouštěčem, abyste mohli do pracovního postupu přidat akci parsovat XML dle schématu.

  • Prostředek účtu pro integraci, kde definujete a ukládáte artefakty, jako jsou obchodní partneři, dohody, certifikáty a další položky, pro použití v podnikovém integračním a B2B pracovním postupu. Tento prostředek musí splňovat následující požadavky:

    • Je přidružena ke stejnému předplatnému Azure jako zdroj logické aplikace.

    • Existuje ve stejném umístění nebo oblasti Azure jako prostředek logické aplikace, kde plánujete použít akci Parse XML se schématem.

    • Pokud pracujete na prostředku a pracovním postupu standardní aplikace logiky, můžete propojit svůj účet integrace s prostředkem aplikace logiky, nahrát schémata XSD přímo do prostředku aplikace logiky nebo obojí na základě následujících scénářů:

      • Pokud už máte účet integrace s artifacts, který potřebujete nebo chcete použít, můžete svůj účet integrace propojit s několika prostředky standardní aplikace logiky, ve kterých chcete použít artifacts. Schémata XSD nemusíte nahrávat do každé jednotlivé aplikace logiky. Další informace najdete v tématu Propojení prostředku aplikace logiky s účtem integrace.

      • Pokud nemáte účet integrace nebo plánujete používat artefakty napříč několika pracovními postupy v rámci stejného prostředku aplikace logiky, můžete přímo přidat schémata do prostředku aplikace logiky pomocí Azure portálu nebo Visual Studio Code.

      • Pokud účet integrace nemáte nebo potřebujete, můžete použít možnost nahrávání. V opačném případě použijte možnost propojení. V obou směrech můžete tyto artefakty použít napříč všemi podřízenými pracovními postupy v rámci stejného prostředku logické aplikace.

      Pokud používáte operace AS2, X12 a EDIFACT, stále potřebujete účet integrace pro uložení dalších artefaktů, jako jsou partneři, dohody a certifikáty.

  • Schéma XSD, které se používá při parsování XML pomocí schématu. Ujistěte se, že toto schéma obsahuje kořenový prvek, který vypadá jako v následujícím příkladu:

    <xs:element name="Root">
        <....>
    </xs:element>
    

Přidat akci pro parsování XML se schématem

  1. V Azure portal otevřete svou standardní logickou aplikaci a pracovní postup v editoru návrhu.

  2. Pokud máte prázdný pracovní postup, který nemá aktivační událost, postupujte podle těchto obecných kroků a přidejte všechny požadované triggery. V opačném případě pokračujte k dalšímu kroku.

    V tomto příkladu používá spouštěč Request.

  3. V kroku vašeho pracovního postupu, kam chcete přidat akci Parsovat XML se schématem, podle těchto obecných kroků přidejte akci s názvem Parsovat XML se schématem.

  4. Do pole Obsah zadejte obsah XML, který chcete analyzovat pomocí libovolných dat XML, která obdržíte v požadavku HTTP.

    1. Pokud chcete vybrat výstupy z předchozích operací v pracovním postupu, v akci Parsovat XML se schématem vyberte v poli Obsah a vyberte možnost seznamu dynamického obsahu (ikona blesku).

    2. V seznamu dynamického obsahu vyberte token pro obsah, který chcete analyzovat.

      Tento příklad vybere token Body z triggeru.

      Snímek obrazovky znázorňující standardní pracovní postup s otevřeným seznamem dynamického obsahu

  5. V seznamu Zdroj vyberte umístění, kam jste nahráli schéma XSD, a to buď prostředek LogicApp, nebo váš IntegrationAccount.

  6. V seznamu Názvů vyberte schéma XSD.

  7. Po dokončení uložte pracovní postup.

    Teď jste dokončili nastavení akce Parsování XML se schématem. V reálné aplikaci můžete chtít parsovaná data uložit do obchodní aplikace, jako je Salesforce. Pokud chcete do Salesforce odeslat analyzovaný výstup, přidejte akci Salesforce.

  8. Pokud chcete otestovat akci analýzy, aktivujte a spusťte pracovní postup. Například pro spouštěč požadavku odešlete požadavek na adresu URL koncového bodu spouštěče.

    Akce Parse XML se schématem proběhne po aktivaci pracovního postupu a když je k dispozici obsah XML pro zpracování.

Pokročilé parametry

Následující tabulka popisuje pokročilé parametry dostupné v této akci:

Parametr Hodnota Popis
Zpracování DTD - Ignorovat
- Parse (Parsování)
- Zakázat
Určete, jak zpracovat definici typu dokumentu XML (DTD).
Normalizovat XML Ne nebo Ano Zda se má normalizovat obsah XML.
Ignorovat prázdné znaky? Ne nebo Ano Ať už chcete analyzovat nebo ignorovat nevýznamné prázdné znaky, jako jsou mezery, tabulátory a prázdné řádky v dokumentech XML.
Ignorovat pokyny pro zpracování XML? Ne nebo Ano Bez ohledu na to, jestli chcete postupovat podle pokynů pro zpracování XML nebo ignorovat.
Ignorovat atributy XML Ne nebo Ano Určuje, zda se mají zapisovat nebo ignorovat atributy XML.
Použít plně kvalifikované názvy? Ne nebo Ano Zda použít jednodušší místní názvy nebo plně kvalifikované názvy XML.
Kvalifikovaný název kořenového uzlu < kvalifikovaný-název-kořenového-uzlu> Kvalifikovaný název kořenového uzlu v případě, že schéma obsahuje více definic nerozpoznaných elementů.

Řešení problémů

Tato část popisuje problémy, se kterými se můžete setkat, a možná řešení těchto problémů.

Pořadí elementů XML není zachováno.

Pokud XML obsahuje opakující se elementy, které se zobrazují ve smíšeném pořadí, nemusí akce Analýza XML podle schématu zachovat původní pořadí a seskupí tyto prvky podle jejich názvu v abecedním pořadí.

Toto chování se očekává, protože parsování XML pomocí akce schématu převede XML na JSON. Tento formát nemá způsob, jak znázorňovat jeden uspořádaný seznam s různými typy položek. Místo toho akce seskupí prvky podle názvu v abecedním pořadí.

Předpokládejme například, že máte položky s následujícími názvy v tomto konkrétním pořadí: A, B, BA:

před

<Items>
   <A>1</A>
   <B>2</B>
   <A>3</A>
   <B>4</B>
</Items>

Jakmile akce parsuje XML, výsledné skupiny JSON a změní pořadí těchto položek podle názvu: A, A, Ba B:

po

{
   "A": ["1", "3"],
   "B": ["2", "4"]
}

Funkce Analyzovat XML se schématem nemá žádné nastavení, které zachovává pořadí smíšených opakujících se prvků. Výsledkem tohoto omezení je převod XML na JSON.

Následující seznam popisuje možnosti, jak tento problém vyřešit nebo obejít:

  • Pokud schéma řídíte, navrhujte schéma tak, abyste měli pouze jeden opakující se seznam bez více opakujících se typů prvků.

    Například místo samostatného opakování A a Bpoužijte jeden opakující se obálkový prvek, například Item. Každá položka pak označuje, zda A je reprezentována nebo B je reprezentována. Systém pak může zachovat všechny položky v jednom seřazeném seznamu a zachovat původní pořadí. Tato možnost je nejvhodnější pro dlouhodobé předvídatelné chování.

  • Pokud je původní objednávka povinná nebo kritická, neanalyšujte XML.

    • Vyhněte se rozdělení XML do formátu JSON.
    • Zpracujte dokument XML jako celek.
    • Předejte dokument XML beze změny nebo transformujte obsah pomocí nástrojů založených na jazyce XML, jako je XSLT.
  • Mějte na paměti toto omezení.

    Pokud nemůžete změnit schéma nebo pracovní postup, mějte na paměti následující:

    • Smíšené opakující se elementy jsou seskupené podle názvu elementu a ztratí původní pořadí.
    • Navrhujte podřízenou logiku s ohledem na toto chování.