نحوه ايجاد يک فايل XML در دات نت New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 پنجشنبه  5  مرداد  1396  2017  Jul.  27   Thursday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 XML در دات نت : ايجاد يک فايل

 مديريت وب

10494

10

4.5

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

XML در دانت : ايجاد يک فايل 

XML در دات نت : ايجاد يک فايل 

XML ، يک زبان نشانه گذاری است که  امکانات گسترده ای به منظور تشريح اطلاعات را ارائه می نمايد . مولفين اسناد XML به منظور تشريح اطلاعات از تگ ها و خصلت های اختصاصی خود استفاده می نمايند. ( تگ از قبل تعريف شده ای وجود ندارد ) . تگ های موجود در يک سند XML با يکديگر ترکيب  و به همراه مجموعه قوانينی که ارتباط بين آنان را مشخص می نمايد ، ارائه می گردند . به منظور تعريف قوانين فوق از( DTD ( Documet Type Definition و XML Schema استفاده می گردد .
XML در سال 1996 توسط کنسرسيوم وب ( گروه کاری XML ) پياده سازی شده است .  استاندارد باز و مستقل از پلت فرم بودن از جمله مهمترين ويژگی های XML محسوب می گردد. XML از آن زمان تاکنون دستخوش تغييرات متعددی شده و از آن در ابعاد گسترده ای نظير ذخيره سازی داده های مورد نياز که می بايست بين برنامه ها منتقل گردند، استفاده می شود ( خصوصا" برنامه هائی که بر روی اينترنت اجراء می گردند ) .

XML در دات نت
 XML دارای جايگاهی خاص در فريمورک دات نت است . فريمورک دات نت نه تنها امکان استفاده موثر از XML در برنامه ها را در اختيار شما  قرار می دهد بلکه از آن در مواردی متعددی نظير فايل های پيکربندی ، سرويس های وب و ADO.NET نيز استفاده می گردد. فريمورک دات نت مجموعه ای  گسترده از کلاس ها به منظور کار با اسناد XML را ارائه نموده است که جملگی از  System.Xml مشتق می شوند . سه namespace زير ويژگی های اصلی XML  در دات نت را ارائه می نمايند :

  • System.Xml ، مهمترين namespace ارائه شده در دات نت می باشد که اشياء سازگار با نسخه XML کنسرسيوم وب و مجموعه ای از اشياء جانبی به منظور کار با اسناد XML را ارائه می نمايد .با استفاده از اشياء سازگار با  XML ارائه شده توسط  کنسرسيوم وب ، امکان دستيابی به گره های موجود در يک سند XML فراهم می گردد . در اين رابطه اشياء reader و writer به منظور دستيابی به فايل های XML موجود بر روی ديسک و کلاسی به منظور بررسی اعتبار اسناد XML در مقابل يک DTD و يا XML Schema ، ارائه شده است .
     

  • System.Xml.XPath . با استفاده از  XML Path Language) XPath )، امکان دستيابی و پردازش بخش هائی خاص ازيک سند XML  فراهم می گردد. مثلا" می توان عبارت خاصی را ايجاد نمود که گره های خاصی را در يک سند  XML و بر اساس نام ، نوع و يا مقدار پيدا نمايد . به عبارات فوق ، XPath Queries گفته می شود . namespace فوق مجموعه ای از اشياء Navigator به منظور انجام عمليات تکراری در يک سند XML را نيز ارائه نموده است . System.Xml.XPath اينترفيس DOM کنسرسيوم وب را حمايت نمی نمايد .
     

  • System.Xml.Xsl .از ( XSL ( eXtensible Stylesheet Language   به منظورتعريف فرمت مورد نظر برای  داده های XML استفاده می گردد . کلاس فوق ، اشياء لازم به منظور  تبديل اسناد XML  که از آن با نام  XSLT ياد می شود را نيز ارائه می نمايد . XSLT فرآيندی است که در آن با استفاده از يک سند XML ، اسناد مبتنی بر text ايجاد می گردند . namespace فوق ، همچنين يک کلاس به منظور پاس دادن آرگومان به يک XSLT Stylesheet برای تبديل شرطی را ارائه نموده است .

علاوه بر سه namespace اشاره شده از دو namespace ديگر به نام   System.Xml.Schema و System.Xml.Serialization   به منظور انجام عمليات خاص  در ارتباط با استاد XML ، استفاده می شود .

ايجاد يک سند XML با استفاده از XmlTextWriter 
از XmlTextWriter  ، به منظور نوشتن داده در اسناد XML سازگار با استاندارد W3C XML 1.0  استفاده می شود . کلاس فوق اطلاعات را cache نکرده و از آن به منظور نوشتن داده در يک سند XML  به صورت  forward-only ، استفاده می گردد . XmlTextWriter  نسبت به  DOM دارای سرعت بمراتب بيشتری بوده و از حافظه کمتری استفاده می نمايد ( در هر لحظه يک گره در حافظه قرار می گيرد ) . کلاس فوق گره ها را يکی پس از ديگری ايجاد نموده و آنان را برای خروجی مورد نظر ارسال می نمايد ( يک  Stream ، شی ديگر ويا يک فايل موجود بر روی ديسک ) .
جدول زير مهمترين متدهای اين کلاس را نشان می دهد :

کاربرد

متد

 از متد فوق به منظور شروع  يک سند XML و درج اولين خط در آن که شامل معرفی فايل XML و نحوه encoding است ، استفاده می گردد.  

 WriteStartDocument()

 از متد فوق به منظور ايجاد يک عنصر جديد در سند XML استفاده می گردد . نام عنصر جديد توسط رشته ورودی مشخص می شود .

WriteStartElement(string)

از متد فوق به منظور ايجاد يک عنصر جديد در سند XML استفاده می گردد . نام عنصر جديد و مقدار متناظر با آن توسط پارامترهای ورودی مشخص می گردد.

WriteElementString(name, text_value)

 از متد فوق به منظور ايجاد يک خصلت و نسبت دهی مقدار مورد نظر به آن استفاده می شود . خصلت ايجاد شده به عنصر جاری سند XML نسبت داده می شود .

WriteAttributeString(name, value)

 از متد فوق به منظور بستن عنصری که توسط  متد WriteStartElementايجاد شده است ، استفاده می گردد .

WriteEndElement()

 از متد فوق به منظور اتمام عمليات نوشتن در سند XML استفاده می گردد .

WriteEndDocument()

از متد فوق به منظور نوشتن محتوای سند XML به فايل مشخص شده در يک آدرس خاص، استفاده می گردد .

Close()

به منظور شروع کار با کلاس XmlTextWriter می بايست يک فايل و نحوه encoding آن مشخص گردد. encoding می بايست از نوع System.Text.Encoding باشد . ( مثلا" System.Text.Encoding.ASCII ، System.Text.Encoding.Unicode و يا System.Text.Encoding.UTF8 ) .

مثال : استفاده از XmlTextWriter به منظور ايجاد يک فايل  XML
در اين مثال با استفاده از XmlTextWriter يک فايل XML با نام  Visitors.xml و ساختار زير ايجاد می گردد .

<userInfo>
   <browserInfo>
      <urlReferrer>...</urlReferrer>
      <userAgent>...</userAgent>
      <userLanguages>...</userLanguages>
   </browserInfo>
  <visitInfo timeVisited>
    <ip>...</ip>
    <rawUrl>...</rawUrl>
    <totalbytes>...</totalbytes>
    <browsertype>...</browsertype>
    <contentEncoding>...</contentEncoding>
    <contentlength>...</contentlength>
    <httpmethod>...</httpmethod>
    <IsSecureConnection>...</IsSecureConnection>
    <RequestType>...</RequestType>
   </visitInfo>
</userInfo>

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Text" %>

<script language="vb" runat="server">
Sub Page_Load()
Dim writer As XmlTextWriter
writer = new XmlTextWriter(Server.MapPath("Visitors.xml"), Encoding.UTF8)

writer.WriteStartDocument()
writer.WriteStartElement("userInfo")
writer.WriteStartElement("browserInfo")

if (Request.UrlReferrer is "") then
     writer.WriteElementString("urlReferrer", "none")
Else
   writer.WriteElementString("urlReferrer",Request.Url.Tostring())
End if


writer.WriteElementString("userAgent", Request.UserAgent)
writer.WriteElementString("userLanguages", String.Join(", ", Request.UserLanguages))
writer.WriteEndElement()

writer.WriteStartElement("visitInfo")
writer.WriteAttributeString("timeVisited", DateTime.Now.ToString())
writer.WriteElementString("ip", Request.UserHostAddress)
writer.WriteElementString("rawUrl", Request.RawUrl)
writer.WriteElementString("totalbytes", Request.TotalBytes)
writer.WriteElementString("browsertype", Request.Browser.Type)
writer.WriteElementString("contentEncoding", Request.ContentEncoding.EncodingName)
writer.WriteElementString("contentlength", Request.Contentlength)
writer.WriteElementString("httpmethod", Request.HttpMethod)
writer.WriteElementString("IsSecureConnection", Request.IsSecureConnection)
writer.WriteElementString("RequestType", Request.RequestType)

writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
End Sub
</script>

 مرحله دوم :  پس از ذخيره کد فوق در فايلی با نام MakeXmlFile1.aspx  و اجرای آن فايل Visitors.xml  با محتوای زير ايجاد می گردد.



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382