جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
XML در دات نت : ايجاد يک فايل
-(50 Body) 
XML در دات نت : ايجاد يک فايل
Visitor 1410
Category: کامپيوتر

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  با محتواي زير ايجاد مي گردد.

برگرفته از سايت سخا روش

Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image