<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[valide XML erzeugen]]></title><description><![CDATA[<p>Moin,</p>
<p>ich muss eine XML-Datei schreiben, die einem XML-Schema entspricht. Die Daten für die XML-Datei bekommen ich in zwei Strings, einen für den Elementnamen der andere enthält die Daten.<br />
Nun liegt das Problem darin, dass in dem zweiten String Daten stehen können, die nicht gültig sind.<br />
Habe ich z.B. ein Element 'Arbeitsbeginn' welches von Typ 'date' ist, aber im Datenstring steht dann 'blub' so wäre die XML-Datei nicht mehr gültig.<br />
Wie kann ich eine validierung der Daten am besten sicherstellen. Auf anhieb fällt mir nur ein es selber zu schreiben in folgender Form:</p>
<pre><code>if(name.equals(&quot;Arbeitsbeginn&quot;))
{
	if(ChechIfDate(data))
		writeElement(name, data);
}
else if
	...
</code></pre>
<p>Dieses erscheint mir aber ein wenig aufwendig, da in dem Schema mehrere hundert Elemente und eine Menge Datentypen definiert sind.<br />
Es gibt doch sicher einen viel schöneren Weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161000/valide-xml-erzeugen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 14:30:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161000.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Oct 2006 11:04:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to valide XML erzeugen on Mon, 02 Oct 2006 11:04:57 GMT]]></title><description><![CDATA[<p>Moin,</p>
<p>ich muss eine XML-Datei schreiben, die einem XML-Schema entspricht. Die Daten für die XML-Datei bekommen ich in zwei Strings, einen für den Elementnamen der andere enthält die Daten.<br />
Nun liegt das Problem darin, dass in dem zweiten String Daten stehen können, die nicht gültig sind.<br />
Habe ich z.B. ein Element 'Arbeitsbeginn' welches von Typ 'date' ist, aber im Datenstring steht dann 'blub' so wäre die XML-Datei nicht mehr gültig.<br />
Wie kann ich eine validierung der Daten am besten sicherstellen. Auf anhieb fällt mir nur ein es selber zu schreiben in folgender Form:</p>
<pre><code>if(name.equals(&quot;Arbeitsbeginn&quot;))
{
	if(ChechIfDate(data))
		writeElement(name, data);
}
else if
	...
</code></pre>
<p>Dieses erscheint mir aber ein wenig aufwendig, da in dem Schema mehrere hundert Elemente und eine Menge Datentypen definiert sind.<br />
Es gibt doch sicher einen viel schöneren Weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147870</guid><dc:creator><![CDATA[XML-Noob]]></dc:creator><pubDate>Mon, 02 Oct 2006 11:04:57 GMT</pubDate></item><item><title><![CDATA[Reply to valide XML erzeugen on Mon, 02 Oct 2006 11:19:21 GMT]]></title><description><![CDATA[<p>Das erscheint mir an der falschen Stellen angepackt zu sein.</p>
<p>Dein Weg der Prüfung bei der Ausgabe ist zunächst logisch, aber auch nicht wirklich hilfreich - denn Du schreibst dann das Element &quot;Arbeitsbeginn&quot; gar nicht. Ist das denn in Deinem XSD überhaupt erlaubt, dieses Element zu unterdrücken? Denn dann ist das Dokument ja wieder nicht valide.</p>
<p>Dein Einsatz muß vielmehr sein von Anfang an zu verhindern, daß irgendwann &quot;blub&quot; in einem Datum steht. Dann kannst Du die XML auch einfach rausschreiben.</p>
<p>Betrachte es so: die Daten im Speicher dürfen nie ungültig sein, dann klappt's auch beim Schreiben.</p>
<p>- Beim Lesen: nur valide Dokumente werden gelesen, also nur valide Werte<br />
- Während der Arbeit: aus Dialogen oder Berechnungen dürfen nur gültige Werte entstehen</p>
<p>=&gt; beim Schreiben gibt's nur gültige Werte</p>
<p>Mit Deinem Ansatz korrigierst Du etwas, das an anderer Stelle schiefgelaufen ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147881</guid><dc:creator><![CDATA[Marc++us]]></dc:creator><pubDate>Mon, 02 Oct 2006 11:19:21 GMT</pubDate></item><item><title><![CDATA[Reply to valide XML erzeugen on Mon, 02 Oct 2006 11:37:52 GMT]]></title><description><![CDATA[<p>Wie markus schon geschrieben hat.</p>
<p>Wieso etwas versuchen zu koriegieren, was jemand anderes falsch macht. Dein<br />
Modul hat gefälligst richtige Daten zu bekommen. Das einzigste was ich mir noch vorstellen könnte ist, das du nach dem erzeugen der Datei gegen die XSD valiedirst. Wenn dabei ein Fehler pasiert, den Fehler entsprechend zurückgeben. Wozu hat man den ein Schema Datei. Hat auch den vorteil, das die Dateigenerierung unabhängig vom Schema realisieren läst, änderungen am datenmodell müssen nur noch in der Schemadatei nachgezogen werden. Dein Modul bleibt unterumständen unverändert.</p>
<p>gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147901</guid><dc:creator><![CDATA[Termite]]></dc:creator><pubDate>Mon, 02 Oct 2006 11:37:52 GMT</pubDate></item></channel></rss>