Πώς να ορίσετε τη μορφή της εξόδου XML όταν γράφετε από ένα DataTable;

ψήφοι
3

Στην C #, είμαι δημιουργώντας ένα αρχείο XML από ένα DataTable χρησιμοποιώντας dataTable.WriteXml (filepath), και να πάρετε τα ακόλουθα:

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

Πώς μπορώ να πάρω για να γράψει το XML με την ακόλουθη μορφή ?:

<?xml version=1.0 encoding=utf-8 ?>
<ExperienceProfiles>
  <ExperienceProfile Col1=blah
    Col2=blah ></ExperienceProfile>
</ExperienceProfiles>
Δημοσιεύθηκε 10/12/2008 στις 00:03
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
5

Αυτό που θέλετε είναι κατά κάποιο τρόπο για να πει το σύνολο δεδομένων την αναμενόμενη μορφή των δεδομένων σας. Είστε στην τύχη, το σύνολο δεδομένων υποστηρίζει ακριβώς αυτό το χαρακτηριστικό.

Θα πρέπει να δημιουργήσετε ένα σχήμα XML για τα δεδομένα σας και τοποθετήστε το στο DataSet, πριν να γράψει το XML. Στο σχήμα καθορίζουν Στ1 και COL2 ως χαρακτηριστικά του στοιχείου ExperienceProfile και τα στοιχεία που θα ξέρουν να μορφοποιήσετε το έγγραφο εξόδου να πληρούν τις απαιτήσεις που ορίζονται στο σχήμα.

Εάν δεν είστε εξοικειωμένοι με τη δημιουργία ενός σχήματος, μπορείτε να δημιουργήσετε ένα δείγμα του XML αρχείου με τον τρόπο που θέλετε να μορφοποιηθεί, τότε ρίξτε μια ματιά στην κατηγορία XmlSchemaInference στο πλαίσιο. Η κατηγορία αυτή μπορεί να χρησιμοποιηθεί για να δημιουργήσει αυτόματα σχήμα σας, μπορεί να χρειαστεί να ρυθμίσετε την έξοδο λίγο, αλλά μπορεί να σας βοηθήσει αν δεν είστε εξοικειωμένοι με XSD.

Απαντήθηκε 10/12/2008 στις 00:30
πηγή χρήστη

ψήφοι
4

μπορείτε να χρησιμοποιήσετε τη λειτουργία ColumnMapping του datatable στήλης. .

column.ColumnMapping = MappingType.Attribute
Απαντήθηκε 22/09/2009 στις 09:59
πηγή χρήστη

ψήφοι
0

Σύντομη απάντηση: δεν μπορείτε, χρησιμοποιώντας τη μέθοδο WriteXml ενός DataTable.

Long απάντηση (η οποία δεν είναι πολύ μεγάλη): Ακριβώς κυλήσει δική σας.

Ανακαλέσει την απάντησή μου, όπως αναφέραμε και παραπάνω :)

Απαντήθηκε 10/12/2008 στις 00:18
πηγή χρήστη

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