PDA

View Full Version : سوال: گرفتن نوع داده های xsd در سمت Server



RoostaYeBekr
شنبه 16 آذر 1387, 15:33 عصر
با سلام
:لبخندساده:
اگر که ما یک سری کد xsd داشته باشیم و بعد یک سری کد xml ، آنگاه چطور در سمت Server ، می توانیم تشخیص دهیم که نوع داده ای که داریم می خوانیم ، چیست ؟ مثلا آیا از نوع integer است و یا string و یا boolean ؟
:خجالت:
برای اینکه راحتتر بتوانید ، پاسخ دهید ، من برنامه اش را هم فرستادم.

RoostaYeBekr
شنبه 16 آذر 1387, 20:51 عصر
با سلام
اگر کسی حوصله نداشت فایل بالا را دانلود کند ، می تواند فقط کدهای زیر را نگاه کند و با توجه به اینها پاسخ دهد :


<?xml version="1.0" encoding="utf-8" ?>
<Book>
<xsd:schema id="Book"
xmlns:xsd ="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

<xsd:element name="bookitem" >
<xsd:complexType>
<xsd:all>
<xsd:element name="ID" minOccurs="0" type="xsd:integer"/>
<xsd:element name="bookName" minOccurs="0" type="xsd:string"/>
<xsd:element name="Price" minOccurs="0" type="xsd:decimal"/>
<xsd:element name="Status" minOccurs="0" type="xsd:integer"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="Book" >
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="bookitem" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<bookitem>
<ID>
1
</ID>
<bookName>
Software Engineering
</bookName>
<Price>
3500
</Price>
<Status>
2
</Status>
</bookitem>
<bookitem>
<ID>
2
</ID>
<bookName>
Data Structure
</bookName>
<Price>
3000
</Price>
<Status>
3
</Status>
</bookitem>
<bookitem>
<ID>
3
</ID>
<bookName>
Java
</bookName>
<Price>
5000
</Price>
<Status>
1
</Status>
</bookitem>
</Book>

Behrouz_Rad
یک شنبه 17 آذر 1387, 00:44 صبح
قسمت XML رو از XSD جدا کن و در یک فایل دیگه قرار بده.
فایل حاوی داده های XML رو در VS باز کن و از منوی XML گزینه ی Create Schema رو انتخاب کن.
فایل xsd تولید شده رو به فایل xsd.exe بده:


xsd.exe file.xsd /c /l:vb

بعداً به راحتی XML رو Deserialize کن و type متناظر رو بخون.

ضمناً اگر خواستی می تونی از XSD خودت استفاده کنی.

موفق باشید.

RoostaYeBekr
دوشنبه 18 آذر 1387, 15:46 عصر
با سلام
از راهنمائیتون ممنون.
من xsd و xml را در دو فایل جداگانه ریختم.
بعد فایل حاوی داده های XML رو در VS باز کردم و از منوی XML گزینه ی Create Schema رو انتخاب کردم.

راستش از این قسمت به بعد مشکل دارم:
فایل xsd تولید شده رو به فایل xsd.exe بده ( این را نمی دونم چه شکلی باید انجام دهم )
و مشکل اصلی من هم ، همین قسمت زیر است :
بعداً به راحتی XML رو Deserialize کن و type متناظر رو بخون.