XML non rispecchia XSD

lunedì 20 novembre 2006 - 12.11

ysdemarc Profilo | Expert

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

diego.silvestri Profilo | Newbie

scusate ma mai nessuno ha risposto a questo post????.
Ho lo stesso problema risolto momentaneamente con un trucco ( apro il file modifico la riga e lo riscrivo).
Esiste una soluzione al problema??.
Grazie
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5