Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
XML non rispecchia XSD
lunedì 20 novembre 2006 - 12.18
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
lun 20 nov 2006 - 12:18
da un file di schema devo tirare fuori un xml.
Tutto sembra andare ok, anche il file xml viene generato ma ho qualche problemino
ecco una parte dell'xsd, di un xml corretto e di quello che ottengo:
nell'xsd io ho:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="
http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="ELEMENTO1">
<xs:annotation>
<xs:documentation>COMEMNTI VARI</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="E1"/>
<xs:element ref="E2"/>
<xs:element ref="T1"/>
<xs:element ref="T2" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
...
In un xml fornitomi da esempio l'output è di questo genere:
<?xml version="1.0" encoding="UTF-8"?>
<ELEMENTO1 xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="schema.xsd">
<E1/>
<E2/>
<T1>
<n>0</n>
<n1>1</n1>
</T1>
<T2>
<a>I</a>
<b>130</b>
....
Io invece ottengo:
<?xml version="1.0" standalone="yes"?>
<ELEMENTO1>
<T1>
<n>0</n>
<n1>1</n1>
</T1>
<T2>
<a>I</a>
<b>130</b>
....
da notare che:
1) il <?xml version="1.0" encoding="UTF-8"?> è diventato <?xml version="1.0" standalone="yes"?> e non so come.
2)nel TAG ELEMENTO1 mi sono sparite delle "proprietà", e comunque per ottenertlo ho dovuto cambiare il file di schema
da <xs:element name="ELEMENTO1">
a <xs:element name="ELEMENTO1" msdata:IsDataSet="true">
altrimenti al suo posto avevo in output <NewDataset>
3) gli elementi E1 e E2 sono scomparsi (questi io non li devo valorizzare mo devono comparire in output)
per combinare tutto sto casino faccio così:
DataSet ds = new DataSet();
ds.ReadXmlSchema(fileSchema);
DataTable dt1 = ds.Tables["T1"];
DataTable dt2 = ds.Tables["T2"];
poi aggiungo i vari datarow e alla fine faccio un banale
ds.WriteXml(fileOutXml, System.Data.XmlWriteMode.IgnoreSchema);
Oltretutto E1 e E2 non li metto in DataTable poichè oltre a non servirmi se diopo aver letto il file di schema ne stampo i dataTables da esso contenuti questi non escono in alcun modo fuori.
Qualcuno mi aiutiiiii sono diperato...
Ciao
Vincenzo
Programmatore sbilenco
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !