XML maken

De module XML > Create XML zet een bundel om in tekst met XML-indeling.

Data structure

De gegevensstructuur beschrijft de structuur van de resulterende XML. Als u een voorbeeld hebt van de XML die u wilt maken, kunt u deze gebruiken om de gegevensstructuur te genereren:

  1. Klik op Add .
  2. Klik op Generator .
  3. Kopieer en plak het XML-voorbeeld in het veld Voorbeeldgegevens.
  4. Klik op Save .
  5. Controleer of de gegevensstructuur is gegenereerd.
  6. Klik op Save om de gegevensstructuur op te slaan.
Root element nameVoer de naam van het hoofdelement van de XML in. De standaardwaarde is root .
Doctype SYSTEM IDVoer de bestandsnaam in die u wilt gebruiken in de declaratie !DOCTYPE SYSTEM
Doctype PUBLIC IDVoer de bestandsnaam in die u wilt gebruiken in de declaratie !DOCTYPE PUBLIC
Strip Xml DeclarationSchakel deze optie in om de declaratie XML <?xml ... ?> en <!DOCTYPE ... > te verwijderen en alleen het hoofdelement XML en de inhoud ervan te behouden.

Voorbeeld:

Doorgaans worden gegevens van een Google >spreadsheet getransformeerd naar XML.

  1. Plaats de module Google Sheets > Select rows in uw scenario om de gegevens op te halen. Stel de module in om rijen op te halen uit de Google -spreadsheet. Plaats de ​ Maximum number of returned rows aan een klein aantal, maar groter dan één voor het testen doeleinden (Voorbeeld, drie). Voer de module Google Sheets uit door er met de rechtermuisknop op te klikken en "Run this module only" te kiezen. Controleer de uitvoer van de module.

  2. Sluit de module Array Aggregator aan na de module Google Sheets . Kies in de installatie van de module de module Google Sheets in het veld Source node . Laat de andere velden op dit moment ongewijzigd.

  3. Sluit de module XML > Create XML aan na de module Array Aggregator .

    De opstelling van de module vereist een gegevensstructuur die de structuur van de output van XML beschrijft. Klik op de knop Add om de gegevensstructuurinstellingen te openen. De eenvoudigste manier om deze gegevensstructuur te maken, is deze automatisch te genereren op basis van een XML-voorbeeld.

  4. Klik op de knop Generator en plak het XML-voorbeeld in het veld Sample data :

    het gegevensgebied van de Steekproef

  5. Klik op Save.

    Het veld Specificatie in de gegevensstructuur bevat nu de gegenereerde structuur.

  6. Wijzig de naam van de gegevensstructuur in een specifiekere naam en klik op Save .

    Een veld dat overeenkomt met het kenmerk van de hoofdarray wordt als een toewijzingsveld weergegeven in de instellingen van de JSON-module.

  7. Klik op de knop Map naast het veld en wijs het Array[] -item vanuit de Array aggregator -uitvoer toe:

  8. Klik op OK om de instellingen van de XML-module te sluiten.

  9. Open de instelling van de module Array Aggregator . Wijzig Target structure van Aangepast in het veld van een XML-module dat overeenkomt met de bovenliggende items XML element.Map van de module Google Sheets in de juiste velden.

  10. Klik op OK om de installatie van de Array Aggregator-module te sluiten.

  11. Voer het scenario uit.

    De module XML geeft het juiste XML-bestand als uitvoer.

  12. Open de instelling van de module Google Sheets en verhoog het getal Maximum number of returned rows om groter te zijn dan het aantal rijen in het werkblad om alle gegevens te verwerken.

    De resulterende XML kan worden opgeslagen in Dropbox , als bijlage worden verzonden via e-mail, via FTP naar een server worden geüpload, enzovoort.

XML-kenmerken toevoegen

Als u kenmerken wilt toevoegen aan een complex knooppunt (een knooppunt dat andere knooppunten zal bevatten), moet u een verzameling met de naam _attributes toevoegen voor de complexe notitie in de aangepaste gegevensstructuur. Deze verzameling wordt toegewezen aan knooppuntkenmerken. Als u kenmerken wilt toevoegen aan een tekstknooppunt (bijvoorbeeld: <node attr="1">abc</node>), moet u een verzameling _attributes for attributes en een text eigenschap _value toevoegen voor de knoopwaarde voor dit knooppunt in de aangepaste gegevensstructuur.

{
   "name": "node",
   "type": "collection",
   "spec": [
      {
         "name": "_attributes",
         "type": "collection"
         "spec": [
            {
               "name": "attr1",
               "type": "text"
            }
         ]
      },
      {
         "name": "_value",
         "type": "text"
      }
   ]
}

Parse XML

De module XML > Parse XML parseert een tekst met XML-opmaak en voert een enkele bundel uit die alle informatie bevat die uit de XML is geëxtraheerd.

Data structure

De gegevensstructuur beschrijft de structuur van XML om de output van de module beschikbaar te maken in het toewijzingspaneel voor de volgende modules.

Als u een voorbeeld hebt van de XML die u wilt parseren, kunt u deze gebruiken om de gegevensstructuur te genereren:

  1. Klik op Add .

  2. Klik op Generator .

  3. Kopieer en plak het XML-voorbeeld in het veld Sample data .

  4. Klik op Save.

  5. Controleer of de gegevensstructuur is gegenereerd.

  6. Klik op Save om de gegevensstructuur op te slaan.

    U kunt de stappen 2 tot en met 5 overslaan om een lege gegevensstructuur op te geven. Als de gegevensstructuur leeg is, is de uitvoer van de module niet beschikbaar in het deelvenster Toewijzing totdat de module ten minste één keer is uitgevoerd.

Voor meer informatie, zie structuren van Gegevens.

Preserve numbers as textSchakel deze optie in om ervoor te zorgen dat getallen behouden blijven als tekst (tekenreeks). Anders worden getallen naar getalwaarden gecast.
XML

Typ of wijs de XML-opgemaakte tekst toe die u wilt parseren.

Als u een formule gebruikt, moet u ervoor zorgen dat het gegevenstype van de resultaatwaarde het gegevenstype Text is (of dat dit automatisch kan worden toegepast).

Als het resultaatwaardetype Buffer (binaire gegevens) is, gebruikt u de toString() functie om het in het gegevenstype van de Tekst om te zetten. Voor meer informatie, zie de dwang van het Typeen de gegevenstypes van het Punt.

Voorbeeld:

Een XML-bestand downloaden van een URL en de inhoud ervan parseren:

  1. Maak een nieuw scenario.

  2. Voeg de module HTTP > Get a file toe

  3. Open de configuratie van de module en vorm het als volgt:

    URL: URL van het dossier van XML (b.v. https://siftrss.com/f/rqLy05ayMBJ)

    URL van het dossier van XML voorbeeld

  4. Klik OK om de configuratie van de module te bewaren en te sluiten.

  5. Voeg XML > Parse XML -module toe, sluit deze aan na de module HTTP > Get a file en configureer deze als volgt:

    Data structure
    1. Klik op Add .
    2. Klik op Generator .
    3. Open een nieuw tabblad of venster in uw webbrowser.
    4. Plaats URL u in de derde stap in de adresbar gebruikte en haal het dossier van XML.
    5. Selecteer alle XML-tekst en kopieer deze naar het klembord.
    6. Sluit de tab of het venster en ga terug naar het scenario.
    7. Plak de gekopieerde XML-tekst in het veld Voorbeeldgegevens.
    8. Klik op Save.
    9. Controleer of de gegevensstructuur is gegenereerd.
    10. Klik op Save om de gegevensstructuur op te slaan.

    U kunt stap 2 tot en met 9 overslaan om een lege gegevensstructuur op te geven. Als de gegevensstructuur leeg is, is de uitvoer van de module niet beschikbaar in het deelvenster Toewijzing totdat de module ten minste één keer is uitgevoerd.

    XML

    Wijs het Data punt van de output van de HTTP > Get a file module in het gebied toe. Gebruik de functie toString() om de waarde van het gegevenstype Buffer (binaire gegevens) om te zetten in het gegevenstype Text .

    U kunt de code van de formule kopiëren en in het gebied kleven: {{toString(1.data)}}

    Voor meer informatie zien de de gegevenstypes van de Buffer en van de Tekst, gegevenstypes van het Punt.

Parsing XML attributes

Standaard plaatst de module XML > Parse XML kenmerken in een speciale verzameling _attributes als een onderliggend element van het knooppunt met deze kenmerken. Als het knooppunt een tekstknooppunt is en kenmerken heeft, worden twee speciale eigenschappen toegevoegd: _attributes voor kenmerken en _value voor de tekstinhoud van het knooppunt.

Voorbeeld: Deze XML:

<root attr="1">
<node attr="ABC">Hello, World</node>
</root>

wordt omgezet in deze bundel:

XML die in bundel wordt omgezet

Problemen oplossen: kan geen gegevens toewijzen vanuit de module Parse XML

Zorg ervoor dat de gegevensstructuur correct is gedefinieerd. U kunt ook een lege gegevensstructuur gebruiken en de module ten minste één keer uitvoeren om een XML-invoer te verwerken.

Workfront