Tagi na forum.

C# 1456 XML 282
SQL 1192 sieci 268
ASP.NET 785 IIS 262
Windows 726 C++ 255
web 608 Html 218
Visual Studio 515 Information Technology 193
SQL Server 425 MSDN 167

pokaż wszystkie tagi na forum

xml i xsd

jard 2007-07-24 10:34:32
0
avatar
 
 
Witam,Mam następujący problem. Pracuje na dwóch platformach. Przesyłam dane pomiędzy tymi platformami (docelowa platforma to .NET). Przesył danych realizuje przy użyciu generowanego dynamicznie pliku XML. Plik ten odczytywany jest przez program napisany w .NET i tworzony jest z niego DataSet.Aby poprawnie zinterpretować dane musze stworzyć plik XSD. Plik ten pozwala mi określić jakiego typu są wczytywane do dataseta dane (np. float).Problem pojawia się przy walidacji zoorganizowanych danych. Plik xml w uproszczeniu wygląda tak:<tabela>    <input1>1.1</input1>    <input2>1.0</input2>    ...    <inputN>1.0</inputN></tabela><tabela>
    <input1>1.1</input1>
    <input2>1.0</input2>
    ...
    <inputN>1.0</inputN>
</tabela>Czyli, każdy wpis <tabela>odpowiada wierszowi w tablicy, a input1..inputN to po prostu kolumny. Plików XML o takim formacie generuje dużo i w każdym z nich inputN ma inną wartość (tzn. ilość kolumn w tablicy jest prawie zawsze inna np. 1 przypadek input1...input10, 2 przypadek input1...input100).  Czy da się  zrobić uniwersalny plik XSD do takich plików XML? Zależy mi na XSD ponieważ tam mogę zdefiniować typ danej inputN (float, jeżeli nie ma pliku XSD to dana interpretowana jets jako String) i nie muszę później dokonywać czasochłonnej konwersji (rekordów w tabeli może być np 20000 (każdy po 100 kolumn... ). Jeżeli nie można tego załatwić za pomocą XSD to może ktoś ma jakiś pomysł organizacji danych w XML i sposobu odczytu od razu jako float (iteracja przez każdy XmlNode w pliku?)?Pozdrawiam,Jarosław Dubrownik
tagi: XML


radek@rbl.com.pl  2007-07-24 10:47:46 #1
0
avatar
 
 
Odpowiedź nie wprost, ale może Ci się przyda.XSD można osadzić wewnątrz pliku XML. Utwórz DataSet, wypełnij go, a następnie zapisz do XML z włączona opcją dodawania schematu - zobaczysz jak to technicznie wygląda. XSD jest w porównaniu z resztą XMLa małe, więc dużego narzutu na rozmiar plików nie będzie. Jeżeli system źródłowy utworzy XML-a w takim właśnie formacie, to zrobienie z niego DataSeta po stronie .NET będzie banalne, ot jedno wołanie ReadXml.

jard  2007-07-24 11:11:02 #1.1
0
avatar
 
 
Dzięki za zainteresowanie. Co do DataSet'a to umiem go bez problemu wygenerować przy pomocy XSD. Co do umieszczania XSD w pliku XML to chcialbym to zrobić dopiero w ostateczności, jeżeli nie pomogą żadne inne środki (musze włożyć wiecej pracy w generowanie XML'a). Cały problem rozbija się w tym przypadku o zmienną ilość kolumn i walidacje tego jednym plikiem XSD.Pozdrawiam,Jarosław Dubrownik

Udziel odpowiedzi

avatar
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Idź na górę strony