ایکس ایس ایل تی - ایکس ایم ال میں ترمیم کرنا
- پچھلے پیج ایکس ایس ایل تی سرور سائیڈ
- پائیدار پیج ایکس ایس ایل تی اے ڈیٹور
دادههای ذخیره شده در فایل XML میتوانند با استفاده از مرورگر اینترنت ویرایش شوند.
باز کردن، ویرایش و ذخیره XML
حالا، ما به شما نشان خواهیم داد که چگونه فایل XML ذخیره شده در سرور را باز، ویرایش و ذخیره کنید.
ما از XSL برای تبدیل مستند XML به یک فرم HTML استفاده خواهیم کرد. مقادیر عناصر XML نوشته میشوند به حوزههای ورودی HTML در فرم. این فرم قابل ویرایش است. پس از ویرایش، دادهها به سرور ارسال میشوند و مستند XML بهروزرسانی میشود (این بخش توسط ASP انجام میشود).
فایل XML و فایل XSL
ابتدا، به مستند XML که استفاده خواهد شد ("tool.xml") نگاه کنید:
<?xml version="1.0" encoding="ISO-8859-1"?> <tool> <field id="prodName"> <value>HAMMER HG2606</value> </field> <field id="prodNo"> <value>32456240</value> </field> <field id="price"> <value>$30.00</value> </field> </tool>
آپ، در زیر به جدول استایل ببینید ("tool.xsl"):
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <form method="post" action="edittool.asp"> <h2>Tool Information (edit):</h2> <table border="0"> <xsl:for-each select="tool/field"> <tr> <td> <xsl:value-of select="@id"/> </td> <td> <input type="text"> <xsl:attribute name="id"> <xsl:value-of select="@id" /> </xsl:attribute> <xsl:attribute name="name"> <xsl:value-of select="@id" /> </xsl:attribute> <xsl:attribute name="value"> <xsl:value-of select="value" /> </xsl:attribute> </input> </td> </tr> </xsl:for-each> </table> <br /> <input type="submit" id="btn_sub" name="btn_sub" value="Submit" /> <input type="reset" id="btn_res" name="btn_res" value="Reset" /> </form> </body> </html> </xsl:template> </xsl:stylesheet>
مذکورہ بالا XSL فائل، XML فائل میں عناصر کو گزرش کریگا اور ہر ایک XML "field" عنصر کے لئے ایک انٹری حضرات میں پیدا کرگا. عنصر کا id نمبر، ہر HTML انٹری حضرات کا id اور name نمبر میں شامل کیا جائے گا. "value" عنصر کا نمبر، ہر HTML انٹری حضرات کا "value" نمبر میں شامل کیا جائے گا. نتیجہ میں، XML فائل میں نمبروں کا قابل ترمیم HTML فرم حاصل ہوگا.
بعد ازاں، ہم دوسری استیلائی توجیہ بھی رکھتی ہیں: "tool_updated.xsl". یہ XSL فائل، اپدیتی ہوئی XML معلومات کو دکھانے کے لئے استعمال کی جائے گی۔ یہ استیلائی توجیہ، قابل ترمیم HTML فرم نہیں، بلکہ ایک سٹیچی HTML جدول ہے:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2> اپدیتی ہوئی توجیہ معلومات:</h2> <table border="1"> <xsl:for-each select="tool/field"> <tr> <td><xsl:value-of select="@id" /></td> <td><xsl:value-of select="value" /></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
ASP فائل
میدان کارکردگی فرم HTML میں، اس فائل کا میدان کارکردگی "tool.xsl" کا مارک آپ کا مارک آپ "edittool.asp" ہے:
صفحہ "edittool.asp" دو فانکشن شامل ہے: loadFile() XML فائل کو لوڈ اور تبدیل کرنا، اور updateFile() فانکشن XML فائل کو اپدیت کرنا:
<% function loadFile(xmlfile,xslfile) Dim xmlDoc,xslDoc XML فائل کو لوڈ کریں set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) XSL فائل کو لوڈ کریں set xslDoc = Server.CreateObject("Microsoft.XMLDOM") xslDoc.async = false xslDoc.load(xslfile) فائل کو تبدیل کریں Response.Write(xmlDoc.transformNode(xslDoc)) end function function updateFile(xmlfile) Dim xmlDoc,rootEl,f Dim i XML فائل کو لوڈ کریں set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) rootEl کا متغیر کو ریشه علامت کا متغیر بنائیں Set rootEl = xmlDoc.documentElement فرم کی مجموعہ میں سیکشنوں کو دوروزیر کریں for i = 1 To Request.Form.Count فرم میں کیونکہ بٹن علامت کو ختم کریں if instr(1,Request.Form.Key(i),"btn_")=0 then selectSingleNode مہم کو کوئی بھی جستجو کو پتہ لگانے والا XML فائل کا کوئی بھی واحد نیود کو تلاش کرنے کا مہم ہے یہ کوئی جستجو کریگا، جو value علامت کو درخواست کریگا، جو field علامت کا بیٹا علامت ہے یہ field علامت فرم کی موجودہ key کی دفعہ کا id حصہ رکھتا ہے اگر کوئی ماتختیار موجود ہے تو text کا حصہ فرم کی موجودہ سیکشن کی کی دفعہ کو سٹ کریں set f = rootEl.selectSingleNode("field[@id='" & _ Request.Form.Key(i) & "/value") f.Text = Request.Form(i) end if next ترمیم شدہ XML فائل کو محفوظ کریں xmlDoc.save xmlfile تمام اشیاء کی رفرنسیز کو ریکسٹ کریں set xmlDoc=nothing set rootEl=nothing set f=nothing ذریعہ ایک استایل شیئر، ترمیم شدہ XML فائل کو لوڈ کریں، تاکہ کلائنٹ وہ معلومات دیکھ سکے جو ترمیم کیا گیا ہے loadFile xmlfile,server.MapPath("tool_updated.xsl") end function ‘ اگر فرم فرم دیا گیا ہے تو ایکس ایم ال فائل کو اپدیت کریں اور نتائج کو دکھائیں، اگر فرم فرم نہیں دیا گیا ہے تو اس ایکس ایم ال فائل کو تبدیل کریں تاکہ وہ مدد سے ترمیم کیا جاسکے ‘ if Request.Form("btn_sub")="" then loadFile server.MapPath("tool.xml"),server.MapPath("tool.xsl") else updateFile server.MapPath("tool.xml") end if %>
تعلیمات:اگر آپ نے اس پی اے لکھنا نہیں سیکھا ہے تو، اپنے لیے ہماراایس پی اے درس」。
تعلیمات:ہم سرور پر واقع ایکس ایم ال فائل کو تبدیل اور اپدیت کر رہے ہیں۔ یہ ایک پلیٹ فارم پر مشتمل حل ہے۔ کلائنٹ صرف سرور سے واپس براہ راست حاصل کئے جانے والے ایچ تی ایم ال کو حاصل کرسکتا ہے - جو کسی بھی براوزر میں چل سکتا ہے۔
- پچھلے پیج ایکس ایس ایل تی سرور سائیڈ
- پائیدار پیج ایکس ایس ایل تی اے ڈیٹور