C#: XmlWriter hat Error?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Dein Problem ist dass dein Code kein valides XML erzeugt.
Du kannst nicht dein Root Element (=pantomime) schließen und dann ein weiteres, paralleles Element "draw" schreiben.

Dein XML würde in etwa so aussehen:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<pantomime>
  <word>foo</word>
</pantomime>
<draw>
  <word>bar</word>
</draw>

Und sollte in etwa so aussehen um valide zu sein:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- es fehlt ein umschließendes Root Element sobald du neben pantomime ein weiteres Element schreibst -->
<root>
  <pantomime>
    <word>foo</word>
  </pantomime>
  <draw>
    <word>bar</word>
  </draw>
</root>

Wie du siehst fehlt die ein umschließendes Root Element für die Elemente pantomime und draw.

Woher ich das weiß:Berufserfahrung
SupfgamingTV 
Fragesteller
 10.06.2021, 22:39

Nice! danke dir!
Hat funktioniert

0

XML darf nur ein Root-Element haben, Du hast aber zwei Root-Elemente.

Der XmlWriter kann das zwar, das musst Du ihm aber erst erlauben, indem Du den ConformanceLevel entsprechend setzt.
Oder Du schreibst ein Root-Element um alles drum herum.

Ach ja:

Das Close am Ende brauchst Du nicht, das macht das using automatisch.
Und das WriteStartDocument und WriteEndDocument brauchst Du auch nicht.
Und die Settings ebenfalls nicht, außer Du möchtest noch auf Async umstellen oder Attribute verwenden.

Woher ich das weiß:Berufserfahrung