Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator testowych danych XML

Generuj pliki XML z losowymi danymi testowymi: użytkownicy, produkty, zamówienia. Konfigurowalny schemat. Do testów API, SOAP i parsowania. Bezpłatnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
46 znaków

Element główny

catalog

Liczba pozycji

10

Linie

86

Rozmiar

2,9 KB
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <!--Wygenerowano przez Generator XML Dummy-->
  <!--Wygenerowano: 2026-10-20T14:53:52+00:00 UTC-->
  <product id="1">
    <sku>SKU-00001</sku>
    <name>Przykładowy Name 1</name>
    <price>11.24</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 1.</description>
    <created_at>2026-10-20T13:53:52Z</created_at>
  </product>
  <product id="2">
    <sku>SKU-00002</sku>
    <name>Przykładowy Name 2</name>
    <price>12.49</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 2.</description>
    <created_at>2026-10-20T12:53:52Z</created_at>
  </product>
  <product id="3">
    <sku>SKU-00003</sku>
    <name>Przykładowy Name 3</name>
    <price>13.74</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 3.</description>
    <created_at>2026-10-20T11:53:52Z</created_at>
  </product>
  <product id="4">
    <sku>SKU-00004</sku>
    <name>Przykładowy Name 4</name>
    <price>14.99</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 4.</description>
    <created_at>2026-10-20T10:53:52Z</created_at>
  </product>
  <product id="5">
    <sku>SKU-00005</sku>
    <name>Przykładowy Name 5</name>
    <price>16.24</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 5.</description>
    <created_at>2026-10-20T09:53:52Z</created_at>
  </product>
  <product id="6">
    <sku>SKU-00006</sku>
    <name>Przykładowy Name 6</name>
    <price>17.49</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 6.</description>
    <created_at>2026-10-20T08:53:52Z</created_at>
  </product>
  <product id="7">
    <sku>SKU-00007</sku>
    <name>Przykładowy Name 7</name>
    <price>18.74</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 7.</description>
    <created_at>2026-10-20T07:53:52Z</created_at>
  </product>
  <product id="8">
    <sku>SKU-00008</sku>
    <name>Przykładowy Name 8</name>
    <price>19.99</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 8.</description>
    <created_at>2026-10-20T06:53:52Z</created_at>
  </product>
  <product id="9">
    <sku>SKU-00009</sku>
    <name>Przykładowy Name 9</name>
    <price>21.24</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 9.</description>
    <created_at>2026-10-20T05:53:52Z</created_at>
  </product>
  <product id="10">
    <sku>SKU-00010</sku>
    <name>Przykładowy Name 10</name>
    <price>22.49</price>
    <currency>USD</currency>
    <description>To jest przykładowe pole description dla pozycji 10.</description>
    <created_at>2026-10-20T04:53:52Z</created_at>
  </product>
</catalog>
Przykład liczy metodą dummyValue() silnika — dokładnie ten sam kod generuje Twoje dane testowe
Fraza w nazwie polaPrzykład nazwyWartość dla pozycji nr 1
email (np. user_email, contact_email) email [email protected]
phone / telefon phone +1-555-0101
sku / code / kod sku SKU-00001
price / amount / kwota price 11.24
currency / waluta currency USD
date / time / created / updated created_at 2026-10-20T13:53:52Z
url / link / adres url https://example.com/item/1
name / title / nazwa name Przykładowy Name 1
desc / summary / opis description To jest przykładowe pole description dla pozycji 1.
wszystkie pozostałe pola note Wartość 1

Sprawdzanie działa w tej kolejności (najpierw email, na końcu ogólna wartość), więc nazwa created_at da datę ISO, mimo że zawiera też „at”. Nazwy pól są oczyszczane do znaków A-Z a-z 0-9 _ - ., a duplikaty usuwane.

Struktura generowanego dokumentu
  • Deklaracja — <?xml version="1.0" encoding="UTF-8"?>, zawsze UTF-8 (DOMDocument).
  • Element główny — z dwóch komentarzy: pochodzenie i czas wygenerowania (UTC).
  • Pozycje — element powtarzany 1–500 razy; opcjonalny atrybut id="1".
  • Pola — elementy potomne z Twojej listy (rozdzielanej przecinkami), tekst zwykły lub CDATA.
  • Formatowanie — wcięcia przy włączonej opcji „Czytelne formatowanie”, inaczej jeden wiersz.

Warto wiedzieć — dane testowe XML

Do czego używać danych testowych

Podmiana integracji SOAP/XML-RPC zanim dostaniesz dostęp produkcyjny, fixture'y do testów parserów i importerów, szablony mapowań pól (np. wtyczek e-commerce), demonstracje dla klienta i dokumentacja API — wszędzie tam, gdzie potrzebny jest sensowny XML z realną strukturą, a nie „lorem ipsum” w tagach.

XML vs JSON w skrócie

XML ma atrybuty, przestrzenie nazw, komentarze i sekcje CDATA — jest gadatliwy i sprawdza się w integracjach korporacyjnych, fakturach elektronicznych (KSeF), sitemapach i RSS. JSON jest zwięzły i natywny dla JavaScriptu. Ten generator pokazuje oba światy: atrybuty id i CDATA przełączasz opcjami.

CDATA i bezpieczne znaki

Opcja CDATA opakowuje wartości w <![CDATA[ … ]]> — przydatna, gdy pole ma zawierać znaki < i > bez ucieczek. Nazwy elementów są filtrowane do bezpiecznego zestawu, więc nawet nietypowe nazwy pól nie rozbiją struktury dokumentu.

Prywatność i eksport

Wszystkie wartości są fikcyjne (domena example.com, numery z serii 555), więc nic nie wycieka. XML liczy się na żywo podczas pisania, a zapis do historii następuje wyłącznie po kliknięciu „Przetwórz”. Wynik skopiujesz lub pobierzesz jako plik .xml do importu w innym systemie.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator testowych danych XML – losowe dane do testowania

XML (eXtensible Markup Language) jest szeroko używany w integracji systemów, SOAP API, konfiguracjach i danych. Generator tworzy pliki XML z losowymi, realistycznymi danymi testowymi na podstawie wybranego schematu – przydatne do testów importu, parsowania i API.

generator XML testowy dane testowe XML losowe dane XML sample XML data generator

Struktura XML

XML = hierarchiczny, tag-based format. Root element: jeden. Elementy: treść. Atrybuty: . CDATA: &]]>. Komentarze: . Deklaracja: . Namespace: xmlns="URL". Dobrze sformułowany: proper nesting, jeden root, zamknięte tagi.

XML Schema (XSD)

XSD (XML Schema Definition): definiuje strukturę i typy XML. Typy: xs:string, xs:integer, xs:date, xs:boolean. Walidacja: narzędzia sprawdzają XML pod XSD. DTD (Document Type Definition): starszy, mniej powerful. RelaxNG: alternatywa. Generator może tworzyć XML zgodny z prostymi schematami.

Popularne przypadki użycia XML

SOAP Web Services: starszy standard API. RSS/Atom feeds: subskrypcje. Android resources: strings.xml, layouts XML. Java Spring: konfiguracja application context XML. Microsoft Office: .docx = ZIP z XML wewnątrz. SVG: format grafiki wektorowej (XML based). KML: Keyhole Markup Language (Google Earth). XLIFF: lokalizacje tłumaczeń.

XML vs JSON

XML: bardziej verbose, obsługuje atrybuty, CDATA, komentarze, namespace. JSON: prostszy, mniejszy rozmiar, natywny JS. Kiedy XML: SOAP API, legacy systems, dokument-oriented (Word, SVG). JSON: REST API, NoSQL, konfiguracja (zastępuje XML w nowych projektach). YAML: jeszcze prostszy niż JSON dla konfiguracji.

Jak działa generator testowych danych XML

Generator nie kopiuje gotowego pliku, tylko buduje drzewo elementów na podstawie schematu. Schemat — XSD, DTD, RelaxNG albo ręcznie opisana lista pól — jest tłumaczony na strukturę: każdy element dostaje typ, liczność oraz relację do rodzica. Najpierw powstaje szkielet dokumentu, a dopiero na końcu wypełniane są wartości. Dzięki temu wygenerowany plik ma zawsze taki sam układ niezależnie od tego, jakie dane wylosuje generator.

O kształcie danych decyduje mapowanie typów. Pole typu xs:string zamienia się na losowy tekst: nazwę, kod, opis. xs:integer daje liczbę całkowitą z zadanego przedziału, xs:date datę, a xs:boolean wartość logiczną. Atrybuty są generowane razem z elementem, do którego należą, natomiast przestrzeń nazw z xmlns jest przepisywana na wszystkie elementy w jej zasięgu, żeby prefiksy nie rozjechały się w trakcie edycji pliku.

Kluczowym elementem mechanizmu jest ziarno losowości. Ten sam schemat i to samo ziarno dają identyczny plik przy każdym uruchomieniu, co pozwala powtarzać test regresyjny na niezmienionym zestawie danych i odróżnić błąd aplikacji od zmiany danych wejściowych. Generator pilnuje także składni: escapuje znaki &, < i > w treści, opakowuje w sekcję CDATA fragmenty, które mają pozostać dosłowne, dodaje deklarację XML i kontroluje, by dokument miał dokładnie jeden element główny.

Przykład: plik XML do testu importu zamówień

Scenariusz: potrzebujesz dokumentu XML, na którym sprawdzisz importer zamówień w systemie ERP.

  1. Opisz schemat. Element główny zamowienie, w nim naglowek z atrybutami id i waluta (oba typu xs:string) oraz powtarzalny element pozycja.
  2. Ustaw pola pozycji. nazwa jako xs:string, ilosc jako xs:integer, data_dostawy jako xs:date, dostepny jako xs:boolean.
  3. Określ liczność. Podaj minimalną i maksymalną liczbę wystąpień elementu pozycja — generator wylosuje liczbę powtórzeń z tego przedziału.
  4. Ustaw ziarno i wygeneruj plik. Zapisz ziarno razem ze schematem, żeby móc odtworzyć dokładnie te same dane w kolejnym przebiegu testu.
  5. Sprawdź składnię. Upewnij się, że tagi są domknięte, element główny jest tylko jeden, a znaki specjalne w nazwach zostały escapowane.
  6. Użyj w teście. Podmień plik wejściowy importera albo wyślij go jako treść żądania SOAP i sprawdź, czy walidacja względem XSD przechodzi bez błędów.

Typy i konstrukcje XML a dane wyjściowe

Typ lub konstrukcjaCo trafia do plikuZastosowanie w testach
xs:stringlosowy tekst: nazwy, kody, opisytesty długości, kodowania i znaków diakrytycznych
xs:integerliczba całkowita bez separatora i bez cudzysłowutesty zakresów, rzutowania typów i dzielenia
xs:datedata w zapisie ISOtesty formatów dat, stref czasowych i sortowania
xs:booleanwartość true albo falsetesty gałęzi logicznych i wartości domyślnych
atrybutwartość w cudzysłowie wewnątrz tagu otwierającegotesty identyfikatorów, metadanych i atrybutów wymaganych
CDATA<![CDATA[treść]]>testy treści, która nie może być parsowana jako znacznik
namespaceatrybut xmlns z adresem URItesty dokumentów z kilkoma przestrzeniami nazw
komentarz<!-- treść -->sprawdzenie, czy parser pomija komentarze i czy nie gubi danych

Jak wykorzystać generator w praktyce

  • Trzymaj schemat w repozytorium. Plik XSD razem z ziarnem to kompletny opis danych testowych — po zmianie modelu od razu widać, które testy przestały być zgodne.
  • Testuj dane brzegowe, nie tylko losowe. Po wygenerowaniu pliku podmień wybrane pola na wartości skrajne dla danego typu: puste pole tekstowe, datę na granicy zakresu, liczbę ujemną tam, gdzie model tego nie przewiduje.
  • Generuj osobne warianty przypadków. Osobny plik dla danych poprawnych, osobny dla niepoprawnych i osobny dla pustego zbioru pozycji pozwala pokryć testy negatywne importera bez ręcznego pisania dokumentów.
  • Kontroluj rozmiar pliku. Duża liczność powtarzalnych elementów szybko zwiększa rozmiar dokumentu i wydłuża walidację — do testów wydajności przygotuj większy zestaw, a do testów jednostkowych mniejszy.
  • Nie wysyłaj danych z generatora na produkcję. To dane syntetyczne; przed użyciem ich w systemie zewnętrznym sprawdź, czy nie trafią do logów, kolejek zdarzeń ani do raportów.

Ograniczenia generatora

  • Schematy złożone wymagają ręcznej korekty. Grupy modelu, dziedziczenie typów, klucze i odwołania keyref mogą nie zostać odwzorowane w pełni, więc plik trzeba czasem poprawić przed walidacją.
  • Reguły biznesowe są nieznane. Generator nie sprawdzi, czy data dostawy jest późniejsza niż data zamówienia ani czy suma pozycji zgadza się z nagłówkiem dokumentu.
  • Zależności między polami są losowe. Wartości generowane niezależnie mogą tworzyć kombinacje nierealistyczne, na przykład kod kraju niepasujący do waluty rozliczeniowej.
  • Walidacja leży po Twojej stronie. Narzędzie tworzy dokument dobrze sformułowany, ale zgodność ze schematem należy potwierdzić zewnętrznym walidatorem.

Najczęstsze pytania

Jak parsować XML w Python?

import xml.etree.ElementTree as ET. tree = ET.parse("plik.xml"). root = tree.getroot(). for child in root: print(child.tag, child.attrib). Xpath: root.findall(".//element"). lxml: szybsza biblioteka, pełne XPath 2.0. BeautifulSoup: soup.find("tag"). minidom: DOM API.

Jak parsować XML w JavaScript?

Przeglądarka: const parser = new DOMParser(); const doc = parser.parseFromString(xmlStr, "text/xml"). doc.getElementsByTagName("tag"). Node.js: xml2js (npm) lub fast-xml-parser. xml2js: parseString(xml, (err, result) => { console.log(result) }). Konwersja XML→JSON: xml2js lub xmlToJSON biblioteki.

Jak walidować XML pod XSD?

Python: from lxml import etree; schema = etree.XMLSchema(schema_doc); schema.validate(doc). Java: SchemaFactory.newInstance → Schema → Validator. C#: XmlReader z XmlReaderSettings. Online: freeformatter.com/xml-validator-xsd.html. Xmllint (Linux): xmllint --schema schema.xsd plik.xml.

Co to jest SOAP API i jak testować?

SOAP (Simple Object Access Protocol): XML-based web service protocol. WSDL: opis usługi (Web Service Description Language). Envelope:

. Testowanie: SoapUI (darmowy tool), Postman (obsługuje SOAP), curl z odpowiednimi nagłówkami. Content-Type: text/xml. Action header.

Jak generować duże pliki XML dla stress testów?

Python: for i in range(1000000): ET.SubElement(root, "item").text = str(i). Streaming: ElementTree incremental writer. SAX parser: parsowanie strumieniowe bez ładowania do pamięci. 1M elementów XML ≈ kilkaset MB. Dla bardzo dużych: chunk by chunk generation. Narzędzie: generuj N rekordów (slider 10-10000).

Czy wygenerowany plik XML przejdzie walidację XSD?

Przy prostym schemacie zwykle tak. Przy schematach z odwołaniami, kluczami i grupami modelu wynik trzeba sprawdzić walidatorem i w razie potrzeby poprawić plik ręcznie.

Jak uzyskać powtarzalne dane testowe XML?

Ustaw stałe ziarno losowości i nie zmieniaj schematu między przebiegami. Ten sam zestaw wejściowy daje wtedy identyczny plik, co jest niezbędne w testach regresyjnych.

Czy taki XML nadaje się do testów SOAP API?

Tak, pod warunkiem że zachowasz wymagane przestrzenie nazw i kopertę komunikatu. Najprościej wygenerować samą treść, a następnie osadzić ją w kopercie po stronie klienta.

Co zrobić ze znakami specjalnymi w danych testowych?

Znaki &, < i > muszą być escapowane albo umieszczone w sekcji CDATA. Generator robi to automatycznie, ale po ręcznej edycji pliku łatwo tę zasadę złamać.

Czy dane z generatora są anonimowe?

Są syntetyczne, więc nie odpowiadają realnym osobom ani dokumentom. Mimo to nie należy wysyłać ich do systemów produkcyjnych ani traktować jako danych referencyjnych.

Powiązane narzedzia: formatowanie XML, generator JSON testowy i walidator XML.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!