613
צפיות
צפיות
21
תשובות
תשובות
שלום
ברצוני לשים תוכן של שאילתה שאותה יוצר המשתמש
לתוך קובץ XML חדש שאותו המשתמש יוכל לקבל
אך אין לי מושג כיצד לעשות זאת עם XML
תודה מראש..
ברצוני לשים תוכן של שאילתה שאותה יוצר המשתמש
לתוך קובץ XML חדש שאותו המשתמש יוכל לקבל
אך אין לי מושג כיצד לעשות זאת עם XML
תודה מראש..
21 תשובות
אז ככה…
דבר ראשון אתה עושה את השליפה
oRs = oConn.Execute("SELECT title, description, price FROM books")
לאחר מכן אתה מגדיר את סוג הפלט ללקוח
Response.ContentType="text/xml"
עכשיו אתה כותב את תג הפתיחה של ה-XML
<?xml version="1.0" charset="iso-8598-i" ?>
(ה-charset שכתבתי לא נראה לי שהוא נכון)
לאחר מכן את תגית השורש (כמו ה-<HTML> ב-HTML) נגיד books
<books>
</books>
ולבסוף יוצר לולאה שמדפיסה את כל ערכי הרקורדסט בתבנית XML מסוימת
<books>
<% while (!rs.EOF){ %>
<book title="<% =rs.Fields("title") %>">
<desc> <% =rs.Fields("description") %> </desc>
<price> <% =rs.Fields("price") %> </price>
</book>
<% } %>
</books>
וזהו
רק אל תשכח לשנות את סוג הקובץ ל-ASP
אבל זה מציג לי את הקובץ בדפדפן
IE אוהב לפתוח דפי xml בדפדפן.
תעשה:
response.clear
לפני שאתה מתחיל כדי למחוק כל זכר לתגובת ASP ואולי זה יעזור.
קרא כאן.
אוקי, נתחיל בהסברים:
בעקרון יש 3 אפשרויות עיקריות:
* יצירת דף XML מתוך הרקורסט ושמירתו
* יצירת XML זמני בתוך דף ה ASP
* יצירת מסמך ה XML באופן מלא מתוך דף ה ASP, ללא תלות במסד הנתונים (כמובן שיש אפשרות לשלב נתונים מה DB)
הדרך השלישית, כמובן, הכי גמישה. הדרך השנייה טובה במידה ואנחנו רוצים ליצור קובץ לעיבוד, אבל לא ממש לשמור אותו.
יצירת דף XML מתוך הרקורדסט ושמירתו:
<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim strConnect
Dim objConn
Dim objRec
dim tab
Dim xmlpath
dim sql
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source="& Server.MapPath("db.mdb")
tab = "tbl"
sql = "select * from " & tab
Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open sql, strConnect, 0, 1, 1
const adPersistXML = 1
xmlpath = "C:" & tab & ".xml" 'Change This To The Relevant Directory
objRec.Save xmlPath, adPersistXML
%>
Now double-click on <% =xmlPath %> in Explorer
</BODY>
</HTML>
<%
set tab = Nothing
set sql = Nothing
set xmlPath = Nothing
set strConnect = Nothing
set objRec = Nothing
%>
מחקת את כל ההודעה של סטימפי ?
יצירת מסמך ה XML באופן מלא מתוך דף
<%
Dim objDom
Dim objRoot
Dim objChild1
Dim objChild2
Dim objPI
Set objDom = Server.CreateObject("Microsoft.XMLDOM")
Set objRoot = objDom.createElement("ASPForum")
objDom.appendChild objRoot
Set objChild1 = objDom.createElement("NameOfMember1")
objRoot.appendChild objChild1
Set objChild2 = objDom.createElement("NameOfMember2")
objRoot.appendChild objChild2
Set objPI = objDom.createProcessingInstruction("xml","version='1.0'")
objDom.insertBefore objPI, objDom.childNodes(0)
objDom.Save Server.MapPath("file.xml")
%>
לא.
"יצירת XML זמני בתוך דף ה ASP"
אין לי משהו מוכן שכתבתי, מחר יהיה לי יותר זמן לדוגמאות…
זה לא מה שכתבתי למעלה?!
(תגובה ראשונה של השרשור)
כן,
אבל זה מן שלוב של סרבר וקליינט… הייתה לי דוגמא של יצירת XML נטו.
איך אפשר דרך XML לקלוט נתונים מה-DB
בלי שילוב של הסרבר ?
שאלה טובה
באקסס אני לא חושב שאפשר רק עם XML, בלי conn ו RS
אולי התכוונת ל-MSSQL
שאפשר שם לייצא קובץ XML דרך המסד בלי התערבות ה-ASP ?
MSSQL תומך ב XML הרבה יותר טוב…
אבל אין ממש קשר. אני לא יודע איך אתה רוצה להתחבר למסד בלי הסרבר..
ואת הדוגמא שלי אתה לא מפוקק
(לא רציתי לשים סמיילי כועס )
תן לי להבהיר לך משהו:
אני ממש ממש לא חייב לפקק לך כלום.
אם אני לא מפקק יכול להיות שיש לי סיבה טובה, יכול להיות שלא בא לי באותו רגע ואולי משהו אחר עוצר אותי מלעשות את זה. אבל אני לא חייב כלום.
תבין – כמות הפיקוקים שאתה מקבל לא שווה כלום לעומת האיכות שלהם.
אל תיהיה רודף כבוד, כי בסוף תשאר בלי כבוד.
יש אנשים שפוקקו הרבה מאד פעמים (גם פה ובעיקר בתפוז) ואף פעם לא בקשו את זה, הם פשוט פוקקו כי הם מתכנתים מעולים ומגיע להם. לפאק נכנסים לא בגלל הסבר ארוך…
אני רוצה ליצור פאק איכותי, לא פאק עם הרבה שאלות. אם הייתי רוצה ליצור פאק עם הרבה שאלות תוך יומיים היו לי כבר 1000 במאגר. זה היה עוזר לי במשהו? לא.
קח את זה כחומר למחשבה, ובבקשה אל תגיב.
לא הכמות אלא האיכות
טוב שיהיה
ברוח טובה