Wie Format von XML-Ausgabe angeben, wenn sie von einer Datatable zu schreiben?

stimmen
3

In C # Ich erstelle eine XML-Datei aus einer Datatable dataTable.WriteXml (filePath) verwenden und erhalten die folgende:

<?xml version=1.0 encoding=utf-8 ?>
<ExperienceProfiles>
  <ExperienceProfile>
    <Col1>blah</Col1>
    <Col2>4ed397bf-a4d5-4ace-9d44-8c1a5cdb0f34</Col2>
  </ExperienceProfile>
</ExperienceProfiles>

Wie kann ich es das XML in folgendem Format schreiben ?:

<?xml version=1.0 encoding=utf-8 ?>
<ExperienceProfiles>
  <ExperienceProfile Col1=blah
    Col2=blah ></ExperienceProfile>
</ExperienceProfiles>
Veröffentlicht am 10/12/2008 um 00:03
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
5

Was Sie wollen, ist eine Möglichkeit, das Daten-Set das erwartete Format Ihrer Daten zu erzählen. Sie haben Glück, unterstützt das DataSet nur diese Funktion.

Sie müssen ein XML-Schema für Ihre Daten erstellen und sie in das DataSet geladen werden, bevor Sie die XML schreiben. In dem Schema Col1 und Col2 als Attribut des ExperienceProfile Elements definieren und das DataSet wird wissen, das Ausgabedokument zu formatieren, die Anforderungen im Schema angegebenen gerecht zu werden.

Wenn Sie mit dem Erstellen eines Schemas nicht bequem sind, können Sie eine Probe der XML-Datei, die die Art und Weise erstellen, die Sie es formatiert werden wollen, dann nehmen Sie einen Blick auf die XmlSchemaInference Klasse im Rahmen. Diese Klasse kann verwendet werden, um automatisch Ihr Schema zu generieren, müssen Sie möglicherweise die Ausgabe ein wenig zwicken, aber es kann helfen, wenn Sie nicht vertraut mit XSD sind.

Beantwortet am 10/12/2008 um 00:30
quelle vom benutzer

stimmen
4

Sie können die Column Merkmal der Datentabelle Spalte. .

column.ColumnMapping = MappingType.Attribute
Beantwortet am 22/09/2009 um 09:59
quelle vom benutzer

stimmen
0

Kurze Antwort: Sie können nicht, die Methode WriteXml einen Datatable verwenden.

Lange Antwort (die nicht sehr lang ist): rollen Sie Ihre eigenen.

Einfahren meine Antwort, nach oben :)

Beantwortet am 10/12/2008 um 00:18
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more