ایکس ایس ایل ٹی - ایکس ایم ایل پر بندوبست

XML ਫਾਈਲ ਵਿੱਚ ਦਸਤਾਵੇਜ਼ ਇੰਟਰਨੈੱਟ ਬਰਾਊਜ਼ਰ ਰਾਹੀਂ ਸੰਸ਼ੋਧਿਤ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ.

XML ਖੋਲ੍ਹੋ, ਸੰਸ਼ੋਧਨ ਕਰੋ ਅਤੇ ਸੰਭਾਲੋ

ਹੁਣ ਅਸੀਂ ਤੁਹਾਨੂੰ ਸਰਵਰ 'ਤੇ ਸਟੋਰਡ ਹੋਏ XML ਫਾਈਲ ਨੂੰ ਖੋਲ੍ਹਣ, ਸੰਸ਼ੋਧਨ ਕਰਨ ਅਤੇ ਸੰਭਾਲਣ ਦੇ ਤਰੀਕੇ ਦਿਖਾਵਾਂਗੇ.

ਅਸੀਂ XSL ਦੀ ਮਦਦ ਨਾਲ XML ਦਸਤਾਵੇਜ਼ ਨੂੰ HTML ਫਾਰਮ ਵਿੱਚ ਟਰਾਂਸਫਾਰਮ ਕਰਾਂਗੇ. XML ਏਜੰਟ ਦੇ ਮੁੱਲ ਨੂੰ HTML ਫਾਰਮ ਵਿੱਚ ਹਾਰਡ ਇਨਪੁਟ ਫੀਲਡ ਵਿੱਚ ਲਿਖਿਆ ਜਾਵੇਗਾ. ਇਹ ਫਾਰਮ ਸੰਸ਼ੋਧਨ ਯੋਗ ਹੈ. ਸੰਸ਼ੋਧਨ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਡਾਟਾ ਸਰਵਰ ਨੂੰ ਭੇਜਿਆ ਜਾਵੇਗਾ, XML ਫਾਈਲ ਅੱਪਡੇਟ ਹੋਵੇਗੀ (ਇਹ ਏਸਪੀ ਦੁਆਰਾ ਕੀਤਾ ਜਾਵੇਗਾ).

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>

XML ਫਾਈਲ ਦੇਖੋ.

ਇਸ ਤੋਂ ਬਾਅਦ ਹੇਠਲੀ ਸਟਾਈਲ ਸ਼ੇਅਰ ('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 ਫਾਈਲ ਦੇਖੋ.

ਉੱਤੇ ਇਹ XSL ਫਾਈਲ XML ਫਾਈਲ ਵਿੱਚ ਤੱਤਾਂ ਨੂੰ ਲੜੀਬੱਧ ਕਰਦਾ ਹੈ ਅਤੇ ਹਰੇਕ XML «field» ਤੱਤ ਲਈ ਇੱਕ ਇਨਪੁਟ ਡੋਮੇਨ ਬਣਾਉਂਦਾ ਹੈ. field ਤੱਤ ਦੇ id ਅਟਰੀਬਿਊਟ ਦਾ ਮੁੱਲ ਹਰੇਕ ਐਕਸਮਲ ਐਕਟਿਵ ਮਾਈਕਰੋਲੈੰਗਵੇਜ਼ ਇਨਪੁਟ ਡੋਮੇਨ ਦੇ id ਅਤੇ name ਅਟਰੀਬਿਊਟ ਵਿੱਚ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ. «value» ਤੱਤ ਦਾ ਮੁੱਲ ਹਰੇਕ ਐਕਸਮਲ ਐਕਟਿਵ ਮਾਈਕਰੋਲੈੰਗਵੇਜ਼ ਇਨਪੁਟ ਡੋਮੇਨ ਦੇ «value» ਅਟਰੀਬਿਊਟ ਵਿੱਚ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ. ਨਤੀਜੇ ਵਜੋਂ, XML ਫਾਈਲ ਵਿੱਚ ਮੁੱਲਾਂ ਨੂੰ ਸੰਗ੍ਰਹਿਤ ਕਰਨ ਵਾਲਾ ਐਡੀਟਬਲ ਐਕਸਮਲ ਐਕਟਿਵ ਮਾਈਕਰੋਲੈੰਗਵੇਜ਼ ਫਾਰਮ ਮਿਲਦਾ ਹੈ.

ਤਦ, ਅਸੀਂ ਦੂਜੀ ਸਟਾਈਲ ਸ਼ੇਅਰ ਵੀ ਹਾਂ: «tool_updated.xsl». ਇਹ 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>
<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>

XSL ਫਾਈਲ ਦੇਖੋ.

ASP ਫਾਈਲ

ਉੱਤੇ «tool.xsl» ਫਾਈਲ ਵਿੱਚ, ਐਕਸਮਲ ਐਕਟਿਵ ਮਾਈਕਰੋਲੈੰਗਵੇਜ਼ ਫਾਰਮ ਦੇ action ਅਟਰੀਬਿਊਟ ਦਾ ਮੁੱਲ «edittool.asp» ਹੈ:

«edittool.asp» ਪੰਨੇ ਵਿੱਚ ਦੋ ਫੰਕਸ਼ਨ ਹਨ: loadFile() ਐਕਸਮਲ ਐਕਟਿਵ ਮਾਈਕਰੋਲੈੰਗਵੇਜ਼ ਫਾਈਲ ਲੋਡ ਕਰਦਾ ਹੈ ਅਤੇ ਟਰਾਂਸਫਾਰਮ ਕਰਦਾ ਹੈ, updateFile() ਫੰਕਸ਼ਨ ਐਕਸਮਲ ਐਕਟਿਵ ਮਾਈਕਰੋਲੈੰਗਵੇਜ਼ ਫਾਈਲ ਅੱਪਡੇਟ ਕਰਦਾ ਹੈ:

<%
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
form ਸੈਕਟ ਨੂੰ ਚੱਕਰ ਲਗਾਓ
for i = 1 To Request.Form.Count
   ਫਾਰਮ ਵਿੱਚ ਬਟਨ ਇਲੈਕਟ੍ਰੌਨ ਨੂੰ ਹਟਾਓ
   if instr(1,Request.Form.Key(i),"btn_")=0 then
   selectSingleNode ਮੇਥਡ ਇੱਕ ਜਾਂਚ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਲੇ XML ਫਾਈਲ ਵਿੱਚ ਇੱਕ ਸਿੱਧੇ ਨੋਡ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹੈ
   ਇਹ ਜਾਂਚ ਵੈਲਿਊ ਇਲੈਕਟ੍ਰੌਨ ਦੇ ਮੁੱਲ ਦੀ ਬੇਨਾਮੀ ਹੈ
   ਜਦੋਂ ਇਹ field ਇਲੈਕਟ੍ਰੌਨ ਫਾਰਮ ਵਿੱਚ ਮੌਜੂਦ key ਮੁੱਲ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ
   ਜੇਕਰ ਮੇਲ ਹੁੰਦਾ ਹੈ ਤਾਂ 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
%>

ایک تذکراً:آپ جو آس پی بنانا نہیں سیکھ سکتی، تو اپنے لیے اپنے سیکھنار کا مطلب سیکھیئے،ایس پی ٹیچرس》。

تذکراً:آپ کا XML فائل سرور پر تبدیل اور اپدیتی جارہا ہے، یہ ایک پلیٹ فارم کا حل ہے، کلائنٹ صرف سرور سے واپس لوود ہونے والا ایچ ٹی ایم ایل حاصل کرسکتا ہے، جو کسی بھی براوزر میں چل سکتا ہے۔