בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > ASP
מיקום: מאמרים ודוגמאות קוד > XML * XSL

בניית XML ב-ASP

XML זוהי שפה בה אנו משתמשים בכדי לשמור מידע. המידע נשמר בין תגיות. תגי ה-XML אינם מוגדרים מראש. עליך להגדיר בעצמך את התגים שתשתמש בהם. בעזרת ASP אנו יכולים לשלוף מידע ממסד נתונים ולהציג אותו כXML.

כאן נשאלת השאלה למה אנו צריכים זאת?
מסד הנתונים הוא קבוע ואינו פועל תחת מערכת אחרת (כלומר אם אני משתמש באקסס אני חייב שגם למי שאני רוצה להעביר את המידע יהיה אקסס או אם אני משתמש SQL-SERVER ב … תבינו לבד)

XML באני פותח בכל בNOTPAD או מציג דרך הדפדפן ואין לי תלות במערכת מסד הנתונים.

סיבה שנייה וחשובה לא פחות היא שאני מבצע פעולות של שליפה הכנסה והוצאה של נתונים ביתר מהירות (ASP.וקלות כשמתרגלים) מאשר ביש לזכור כי המיסמך XML זוהי אינה בעצם שפה, זוהי בעצם שיטה להכיל נתונים בתוך Tags שנראים כמו HTML.ניתן לכתוב איזה Tagsשרוצים, אך יש כמה חוקים לשמור על XML שהוא Well-Formed.XML שהוא לא Well-Formed הוא לא XML. לכל XML חייב להיות Root Element, זאת אומרת Tag שייפתח בהתחלה ובסוף. גם כך לכל Tag פנימי חייב להיות סוגר. Root Element,זהו בעצם התגית המרכזית שם כל ה"עץ" .

קצת קוד...

<%@ Language=VBScript %> <%Response.ContentType="text/xml"%> <?xml version="1.0"?> <?xml-stylesheet type="text/css" href="Styles.css"?> <% dim dsn="Provider=SQLOLEDB;Data Source=(local);Initial Catalog=NorthWind;User ID=sa;password=" set MyConn=Server.CreateObject("ADODB.connection") MyConn.Open dsn set MyRS=Server.CreateObject("ADODB.recordset") MyRS.Open "select CustomerID,CompanyName,Phone from customers",MyConn %> <Customers> <%do until MyRS.EOF%> <Customer ID="<%=MyRS("CustomerID")%>"> <Phone><%=MyRS("Phone")%></Phone> <CompanyName><%=MyRS("CompanyName")</CompanyName> </Customer> <%MyRS.Movenext loop %> </Customers>

אנו עובדים על מסד הנתונים של Northwind שנימצא בכל מחשב שיש בו אופיס אתם יכולים לעבוד על כל מסד נתונים שאתם רוצים רק בזהירות...
קודם כל נפתח מסמך ASP (את השורה הזאת אני מקווה שלא צריך להסביר….)

<%@ Language=VBScript %> נכריז על המיסמך כ XML Response.ContentType="text/xml" ונהפוך אותו למסמך XML חוקי <?xml version="1.0"?> אם אני רוצה לעצב אותו זה הזמן <?xml-stylesheet type="text/css" href="Styles.css"?> עכשיו מתחיל החלק המוכר: אנו יוצרים מ ASP רגיל. נתחיל מאובייקט ה CONNECTION: ניצור משתנה בשם dsn שהוא יכיל את הקשר למסד הנתונים (במיקרה הזה SQL SERVER) dim dsn="Provider=SQLOLEDB;Data Source=(local);Initial Catalog=NorthWind;User ID=sa;password=" set MyConn=Server.CreateObject("ADODB.connection") MyConn.Open dsn כרגע יש לנו אובייקט שניקרא MyConn המקושר למסד הנתונים של Northwind
אם אתם משתמשים באקסס צרו לכם את הקשר המתאים dsn="DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath ("northwind.mdb") אם אתם עובדים על מסד נתונים משלכם צרו dsn אליו כעת ניצור את ה Recordset שיכיל את הנתונים set MyRS=Server.CreateObject("ADODB.recordset") MyRS.Open "select CustomerID,CompanyName,Phone from customers", MyConn לצורך הדוגמא נוציא מטבלת לקוחות costemers את שם החברה , הטלפון והמיספר המזהה של הלקוח
אם אתם עובדים על מסד נתונים משלכם תשלפו את הנתונים שאתם רוצים מתוך טבלה כלשיא XML בעצם בנוי כמו מערך נתונים, בצורת עץ אובייקטים שדומהלכתיבת HTML. כעת ניצור את תגית השורש <Customers> נפתח לולאה שתרוץ עד סוף הטבלה do until MyRS.EOF נפתח את התגית הראשונה ונכניס לתוכה את הכמודה הנכונה אם אתם עובדים על מסד נתונים שלכם תנו לתגית שם מתאים בגלל ש:קודם כל תבינו מה אתם עושים וגם זיכרו xml זוהי שפה לשמירת מידע אז אנא לא לקרוא לתגית שלכם danny או משהו כזה שם התגית צריך לאפיין את מה שהיא מכילה <Customer ID="< %=MyRS("CustomerID")%>"> <Phone>< %=MyRS("Phone")%></Phone> <CompanyName>< %=MyRS("CompanyName")</CompanyName> </Customer> נקדם את הלולאה באחד MyRS.Movenext וניסגור אותה loop נסגורת את תגית השורש </Customers> שימו לב כאן יצרתי ATTRIBUTE וחשוב מאוד להקפיד על המרכאות אל תשכחו התגיות צריכות להיות כתובות בדיוק אותו הדבר אז אם ב <CompanyName> השתמשתי באותיות גדולות אני גם אסגור אותה כך </CompanyName> אם אתם עובדים על מסד נתונים משלכם זה יראה ככה <שם תגית השורש שלכם> לולאה do until MyRS.EOF < שם התגית הראשונה ID="< %=MyRS("שם הרשומה הרצויה")%>"> < שם התגית השניה>< %=MyRS("שם התגית השניה")%> </סגירת התגית> < שם התגית שלישית>< %=MyRS("שם התגית שלישית")%> </סגירת התגית> וכן הלאה כמה תגיות שתירצו (בד"כ לפי מספר הרשומות בטבלה) קידום הלולאה MyRS.Movenext סגירתה loop אל תשכחו לסגור כל תגית אותה פתחתם ואת תגית השורש כמובן
זהו עכשיו יש לכם מסמך xml מה תעשו איתו זה כבר בעייה שלכם ) ועל זה במאמר הבא):
אפשר לעצב עם CSS או עם XSL אפשר להמיר ל WAP או לשלוח לדפוס פשוט מה שאתם רוצים כמעט בכל הפלטפורמות

בהצלחה לכל שאלה או בעייה ניתן לפנות אלי

התגובות שלכם

         
01. 13/07/2005  Rון
לא הייתי עושה דבר כזה לעולם.
מוציא שאילתת XML מבסיס הנתנונים בעזרת XML AUTOEXPLICT ומבצע טרנספורמציה עם XSL

02. 21/10/2005  lior73
אפשר גם בלי מסד נתונים

         

מחבר: רועי עובדיהרמת קושי: 2  ||  ציון: (1)כל הזכויות שמורות ל-IAO ©

חנות לסטלן  |   מתכונים  |   חגי ישראל  |   פורטל משחקים  |   חנויות מחשבים ו-ציוד הקפי  |   מגזין מסטול לסטלן המצוי  |   קליפרים  |   גידול צמחים פרחים  |   ספא פינוק מושלם