PDA

View Full Version : تعداد و نام فیلدهای یک فایل XML



FirstLine
چهارشنبه 29 بهمن 1382, 12:48 عصر
با سلام
در Asp.NET & VB.NET چجوری میتونم
1- تعداد و نام فیلدهای یک فایل XML را بدست آورم؟
2- آیا فیلدهای این فایل XML با جدول SQLSErver مطابقت دارد یا نه؟(اگر فیلدهای اضافه تر داشت چجوری بفهمم؟)
با تشکر

Vahid_Nasiri
چهارشنبه 29 بهمن 1382, 17:55 عصر
فایل XML باید برای اینسرت شدن در دیتابیس فرمت مخصوصی داشته باشد و گرنه کاری نمی شود کرد.
این فایل چگونه ایجاد شده است؟ منبع آن؟

FirstLine
شنبه 02 اسفند 1382, 08:40 صبح
با سلام
این فایل در حقیقت یک BackUP از همین دیتابیس است.
لطفا یک مثال هم مرحمت بفرمایید.
با تشکر

Vahid_Nasiri
شنبه 02 اسفند 1382, 18:00 عصر
اگر بک آپ از دیتابیس خودتان است که تمام فیلدهای آنرا باید بدانید.
اگر هم نیست ساده است:
این یک فایل ایکس ام ال دیتابیس سازگار با اس کیو ال سرور و دات نت است:


<?xml version="1.0" encoding="utf-8" ?>
<root>
<schema id="DocumentElement"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xdo="urn:schemas-microsoft-com:xml-xdo"
xdo:DataSetName="DocumentElement">
<element name="Products" >
<complexType>
<all>
<element name="ProductID" type="int"></element>
<element name="CategoryID" minOccurs="0" type="int" ></element>
<element name="ProductName" type="string"></element>
</all>
</complexType>
</element>
</schema>
<DocumentElement>
<Products>
<ProductID>1001</ProductID>
<CategoryID>1</CategoryID>
<ProductName>Chocolate city milk</ProductName>
</Products>
<Products>
<ProductID>3004</ProductID>
<CategoryID>3</CategoryID>
<ProductName>Fizzy Fizzing Drink</ProductName>
</Products>
</DocumentElement>
</root>


یک فایل XML تنها از یک سری تگ تشکیل شده است. با یک تگ به نام ‘root’ آغاز و سپس با تگ دیگری به نام ‘/root’ خاتمه می یابد. XML به قوانین تگ ها به شدت حساس است. بنابراین باید یک سری اصول اولیه را هنگام کار با آنها رعایت نمود.
در مثال فوق تگ <element> دارای ویژگی به نام ‘name’ می باشد که با نام جدول دیتابیس مقدار دهی شده است. در این حالت نام آن Products است.
در بین تگ های <all> و </all> که مشاهده می نمایید ، باردیگر از تگ های دیگری استفاده گردیده است ، اما اینبار نام فیلدها و نوع های داده ای آنها تعریف شده است و این موارد با ویژگی های name و type در تگ های مثال فوق مشخص گردیده اند. تمام این موارد یک schema را تعریف می کنند بنابراین با یک </schema> خاتمه می یابند.
تگ schema دارای ویژگی به نام DataSetName است که تگی به نام DocumantElement را مشخص می نماید، جایی که تمام داده های جدول قرارگرفته اند. هر رکورد بین تگ های products قرار می گیرد و سپس مقادیر هر فیلد در یک رکورد ، بین تگ هایی با نام فیلدها محصور می شوند. بنابراین نمایش و استفاده از داده هایی اینچنین خوش فرم در دیتاگرید ساده می باشد.

مثالی دیگر:
http://aspnet.4guysfromrolla.com/articles/052902-1.aspx