Plak C# links en klik op "Converteren" — wij maken er XML vanPlak C#-code

Wat deze tool doet

Als je ooit met de hand een XML-payload hebt moeten bouwen die een C#-class spiegelt — voor een SOAP-call, een configbestand, een WCF-contract of een test fixture — dan weet je hoeveel boilerplate dat is. Plak de C# hier en je krijgt netjes gevormde XML terug in één pass. Een enkele object initializer, een compleet modelbestand met meerdere classes of iets diep genest — zelfde resultaat: een volledig XML-document met elke property bewaard.

Het is geen stomme string-replacement. De converter weet hoe C# echt naar XML serialiseert: decimal-suffixen zoals 49.99m verliezen de m, DateTime en DateTimeOffset komen eruit als ISO-8601 strings, Guid wordt een standaard 8-4-4-4-12 hex-string, nullables met null-waarde worden lege elementen, en collections volgen dezelfde vorm als XmlSerializer zou uitpoepen — elke List<T> wordt een container-element met één kind per item, genoemd naar het elementtype.

Serialization-attributes worden ook gerespecteerd. [XmlRoot("x")] hernoemt het root-element, [XmlElement("x")] hernoemt een child, [XmlAttribute("x")] geeft de property als attribute in plaats van als element, en [XmlIgnore] laat hem vallen. [DataMember(Name="x")] op DataContract-classes werkt hetzelfde. Plak je meerdere classes, dan komt elke eruit met geneste types uitgeklapt en geërfde properties erbij. Niks raakt stilletjes zoek.

Hoe je hem gebruikt

Drie stappen. Werkt hetzelfde of je nu vijf regels plakt of een compleet modelbestand.

1

Plak je C# (of probeer het voorbeeld)

Gooi je C# zo in de linker editor. Een object initializer, een volledige class-definitie, meerdere classes of geneste types — allemaal prima. Klik op Voorbeeld laden als je eerst een realistisch voorbeeld wil zien.

Je hoeft geen commentaren te strippen, attributes te verwijderen of de C#-syntax op te schonen. Laat de code staan zoals hij in je IDE staat. Gewoon plakken.

2

Klik op Converteren

Klik op de groene Converteren-knop. De tool leest de C#, behoudt elke class en property en bouwt de XML in één pass. Je ziet kort een loading-indicator terwijl hij bezig is.

3

Kopieer de XML

Het rechterpaneel vult zich met ingesprongen, netjes gevormde XML die elke standaard-conforme XML parser accepteert. Kopieer hem direct in je SOAP-request, configbestand, test fixture of documentatie.

Wanneer dit echt handig is

SOAP- / WCF-fixtures bouwen

Je hebt een C# request-contract en je hebt een XML-body nodig voor SoapUI of Postman. Plak de class, krijg de XML, door.

Configbestanden starten

Een Settings-class met 40 properties wordt een kant-en-klaar XML-template voor app.config, web.config of elke XML-gebaseerde configstore — geen handgetypte boilerplate.

Docs synchroon houden

Genereer XML-voorbeelden voor een README, API-reference of XSD-gebaseerde schemadocumentatie direct uit je echte models, zodat de docs matchen met de code.

Testdata seeden

Maak van object initializers uit je unit tests XML-seedbestanden voor integration tests, mock servers of legacy systemen die nog XML spreken.

Veelgestelde vragen

Kan ik meerdere classes tegelijk plakken?

Ja — plak een heel bestand. Elke top-level class komt eruit met geneste types uitgeklapt en geërfde properties van base classes erbij. Niks wordt weggelaten.

Respecteert hij attributes zoals [XmlElement], [XmlAttribute] en [XmlIgnore]?

Ja. [XmlRoot("x")] hernoemt het root-element, [XmlElement("x")] een child, [XmlAttribute("x")] geeft de property als attribute op de parent, en [XmlIgnore] haalt hem helemaal weg. [DataMember(Name="x")] op DataContract-classes hernoemt het element ook. Dit komt overeen met wat XmlSerializer zou doen.

Hoe gaat hij om met decimal, DateTime, Guid en nullables?

Decimals (49.99m) verliezen de suffix en worden gewone numerieke tekst. DateTime en DateTimeOffset komen eruit als ISO-8601 strings. Guid is een standaard 8-4-4-4-12 hex-string. TimeSpan wordt een ISO-8601 duration of HH:mm:ss. Nullables met null-waarde worden lege elementen in plaats van weggelaten — zo blijft de vorm consistent.

En geneste classes, lists en dictionaries?

List<T>, arrays, HashSet<T> en IEnumerable<T> worden allemaal container-elementen met één kind per item, genoemd naar het elementtype — een List<OrderItem> Items wordt <Items><OrderItem/><OrderItem/></Items>. Dictionary<K,V> wordt een container van <Entry><Key/><Value/></Entry>. Geneste object initializers worden uitgeklapt als geneste elementen met elk veld intact.

Wordt mijn code opgeslagen?

Je code wordt naar de backend gestuurd voor conversie en wordt niet bewaard — we loggen de payload niet. Zoals altijd bij online tools: als de code echt gevoelig is, neem hem even door voor je plakt.

Wat als de C# iets geks bevat — methods, delegates, IntPtr?

Die worden als lege elementen uitgepoept in plaats van de hele conversie te laten crashen, zodat de rest van je model toch doorkomt. Als de code zelf syntax errors heeft, fix de duidelijke eerst — de parser is soepel maar geen tovenaar.

Andere tools die je nodig kunt hebben

C# naar XML is maar één stukje van de puzzel. Deze tools combineren er goed mee: