Flash actionscript –
xml object reference
|
תיאור |
|
||||||||||||||||||||||||||
|
יצירת
אובייקט xml
חדש . ניתן להשתמש ב-constructor
ב-2 דרכים . דוגמא : Myxml=new XML(); Myxml=new XML(“<member><user>gadi</user><pass>f5pro</pass></member>”); |
New XML(); |
||||||||||||||||||||||||||
|
|
Reading methods |
||||||||||||||||||||||||||
|
שיטת קריאה
בלבד . מחזירה true/false האם ל-node הנוכחי יש עוד nodes . דוגמא : myxml=new
XML("<member><user>gadi</user><pass>f5pro</pass></member>"); rootchild=myxml.firstChild; rootchildname=rootchild.nodeName; trace(rootchildname); trace(rootchild.hasChildNodes()); output- member true |
HasChildNodes() |
||||||||||||||||||||||||||
|
טעינת מסמך
xml לאובייקט החדש שיצרנו
. דוגמא: myxml=new XML(); myxml.load("Products.xml"); |
Load() |
||||||||||||||||||||||||||
|
פונקציה
הנקראת בזמן טעינת מסמך xml בשיטת load או send and load . דוגמא : myxml=new
XML(); myxml.load("Products.xml"); myxml.onload=translate; function translate(){ //processing the file } |
OnLoad() |
||||||||||||||||||||||||||
|
מנתח
ארגומנט ומעביר אותו לאובייקט xml
. במקרה שהאובייקט מכיל נתונים , הוא מוחק אותם . דוגמא : myxml=new XML(); myxml.parseXML("<members><user>gadi</user><pass>f5pro</pass></members>"); rootchild=myxml.firstChild.nodeName; trace(rootchild); myxml.parseXML("<member><user>gadi</user><pass>f5pro</pass></member>"); rootchild=myxml.firstChild.nodeName; trace(rootchild); output- members member |
ParseXML() |
||||||||||||||||||||||||||
|
הופך
אובייקט xml
למחרוזת כולל התגיות. דוגמא: myxml=new XML(); myxml.parseXML("<members><user>gadi</user><pass>f5pro</pass></members>"); userchild=myxml.firstChild.firstChild.toString(); trace(userchild); output- <user>gadi</user> |
ToString() |
||||||||||||||||||||||||||
|
|
Writing methods |
||||||||||||||||||||||||||
|
הוספת child לסוף רשימת ה-childs של האובייקט . דוגמא : myxml=new XML(); myxml.parseXML("<members><user>gadi</user><pass>f5pro</pass></members>"); newchild=new
XML("<user>daniel</user><pass>vba</pass>"); addchild=myxml.firstChild.appendChild(new
child); full=myxml.toString(); trace(full); output- <members><user>gadi</user><pass>f5pro</pass>("<user>daniel</user>_ <pass>vba</pass></members> |
appendChild() |
||||||||||||||||||||||||||
|
יצירת
אובייקט xml
חדש , שהוא העתק של אובייקט ה-xml
הנבחר . דוגמא : myxml=new XML(); myxml.parseXML("<members><user>gadi</user><pass>f5pro</pass></members>"); myxmlstr=myxml.toString(); cloning=myxml.firstChild.cloneNode(true); trace(cloning.toString()); cloning2=myxml.firstChild.cloneNode(false); trace(cloning2.toString()); output- <members><user>gadi</user><pass>f5pro</pass></members> <members /> |
CloneNode() |
||||||||||||||||||||||||||
|
יצירת
אלמנט חדש אשר מוחזר למשתנה . צריך לבצע חיבור ביניהם על ידי appendChild . דוגמא : doc=new XML(); base1=new XML(); //define the element
name base=doc.createElement("user"); //define the text
inside text=base1.createTextNode("gadi"); base.appendChild(text); //attach together doc.appendChild(base); trace(doc.toString()); output- <user>gadi</user> |
CreateElement() |
||||||||||||||||||||||||||
|
הוספת טקסט
לתוך אלמנט , מוחזרת למשתנה שמקבל אותה . ר' דוגמא קודמת . |
CreateTextNode() |
||||||||||||||||||||||||||
|
הוספת node לאובייקט xml לפני node קיים . דוגמא : root=new XML(); doc1=new XML(); base1=new XML(); doc=root.createElement("member"); base=doc1.createElement("user"); base2=doc1.createElement("pass"); text=base1.createTextNode("gadi"); base.appendChild(text); text2=base1.createTextNode("f5pro"); base2.appendChild(text2); doc.appendChild(base); doc.insertBefore(base2,base); root.appendChild(doc); trace(doc.toString()); output- <member><pass>f5pro</pass><user>gadi</user></member> |
InsertBefore() |
||||||||||||||||||||||||||
|
הסרת node מאובייקט ה-xml הנוכחי שלו . דוגמא : root=new XML(); doc1=new XML(); base1=new XML(); doc=root.createElement("member"); base=doc1.createElement("user"); base2=doc1.createElement("pass"); text=base1.createTextNode("gadi"); base.appendChild(text); text2=base1.createTextNode("f5pro"); base2.appendChild(text2); doc.appendChild(base); doc.insertBefore(base2,base); root.appendChild(doc); trace(root.toString()); base2.removeNode(); trace(root.toString()); output- <member><pass>f5pro</pass><user>gadi</user></member> <member><user>gadi</user></member> |
RemoveNode() |
||||||||||||||||||||||||||
|
שליחת מסמך
ה-xml ל-url אחר , עם אפשרות שליטה
בחלון . השליחה מתבצעת ב-post
. דוגמא : Myxml.send(“myasp.asp”); Myxml.send(‘myasp.asp”,”_blank”); |
Send() |
||||||||||||||||||||||||||
|
שליחת מסמך
xml וקבלת מידע מהשרת
לאובייקט xml
חדש . דוגמא : Myxml.sendAndLoad(“myasp.asp”,mynewxml); |
SendAndLoad() |
||||||||||||||||||||||||||
|
|
properties |
||||||||||||||||||||||||||
|
קביעה
והחזרה של ה-doctype
של המסמך . דוגמא : Myxml=new
XML("<member><user>gadi</user><pass>f5pro</pass></member>"); Myxml.docTypeDecl="<!DOCTYPE member SYSTEM
'mem.dtd'>"; trace(Myxml); output- <!DOCTYPE member SYSTEM
'mem.dtd'> <member><user>gadi</user><pass>f5pro</pass></member> |
docTypeDecl |
||||||||||||||||||||||||||
|
מאפיין (read only) , המחזיר את ה-child הראשון של ה-node הנוכחי . דוגמא : Myxml=new
XML("<member><user>gadi</user><pass>f5pro</pass></member>"); fname=Myxml.firstChild.nodeName; trace(fname); output- member |
firstChild |
||||||||||||||||||||||||||
|
מאפיין (read only) , המחזיר את ה-child האחרון של ה-node הנוכחי . דוגמא : Myxml=new
XML("<member><user>gadi</user><pass>f5pro</pass></member>"); fname=Myxml.firstChild.lastChild.nodeName; trace(fname); output- pass |
lastChild |
||||||||||||||||||||||||||
|
מאפיין (read only) , המחזיר true במקרה שהמסמך סיים
להטען . דוגמא : If(Myxml.loaded){
GotoAndStop(“process”); } |
loaded |
||||||||||||||||||||||||||
|
מחזיר את
האח הבא של ה-node
הנוכחי . מחזיר null
במקרה שלא קיים . דוגמא : Myxml=new
XML("<member><user>gadi</user><pass>f5pro</pass></member>"); fname=Myxml.firstChild.firstChild.nextSibling; trace(fname); output- <pass>f5pro</pass> |
nextSibling |
||||||||||||||||||||||||||
|
שם ה-node הנוכחי . דוגמא : Myxml=new
XML("<member><user>gadi</user><pass>f5pro</pass></member>"); fname=Myxml.firstChild.firstChild.nodeName; trace(fname); output- user |
nodeName |
||||||||||||||||||||||||||
|
מחזיר את
סוג ה-node
הנוכחי על פי קוד מספרי.
דוגמא : myxml=new
XML("<member><user>gadi</user></member>"); trace(myxml.firstChild.firstChild.nodeType); trace(myxml.firstChild.firstChild.firstChild.nodeType); output- 1 3 |
nodeType |
||||||||||||||||||||||||||
|
מחזיר את
ערך ה-node
של אובייקט xml
. אם הוא אלמנט , הערך יהיה null
. דוגמא : myxml=new
XML("<member><user>gadi</user></member>"); trace(myxml.firstChild.firstChild.firstChild.nodeValue); output- gadi |
nodeValue |
||||||||||||||||||||||||||
|
נותן reference ל-parent של אובייקט ה-xml הנוכחי . דוגמא : myxml=new
XML("<member><user>gadi</user></member>"); trace(myxml.firstChild.firstChild.parentNode.nodeName); output- member |
parentNode |
||||||||||||||||||||||||||
|
נותן reference לאח הקודם של אובייקט
ה-xml הנוכחי . ר' nextSibling . |
previousSibling |
||||||||||||||||||||||||||
|
מחזיר קוד
מספרי לבדיקה האם מסמך ה-xml
הותאם לאובייקט ה-xml
.
|
status |
||||||||||||||||||||||||||
|
קובע
ומחזיר את הצהרת xml
. דוגמא : Myxml=new
XML("<member><user>gadi</user><pass>f5pro</pass></member>"); Myxml.xmlDecl="<?xml
version='1.0' ?>"; trace(Myxml); output- <?xml version=’1’ ?> <member><user>gadi</user><pass>f5pro</pass></member> |
XmlDecl
|
||||||||||||||||||||||||||
|
|
Collections
|
||||||||||||||||||||||||||
|
מחזיר מערך
שמכיל את כל ה-attributes
של node מסויים . דוגמא : Myxml=new
XML("<member><userid=’1’>gadi</user><pass>f5pro</pass></member>"); user=Myxml.firstChild.firstChild; y=user.attributes.id; trace(y); user.attributes.email="gadi@flash5pro.com"; trace(user); output- 1 <user email="gadi@flash5pro.com"
id="1">gadi</user> לא ניתן
לרוץ במערך כדי למצוא את כל שמות ה- attributes . הסקריפט
הבא מוצא את ה-attributes
והערכים שלהם : Myxml=new XML("<member><user id='1'>gadi</user><pass>f5pro</pass></member>"); user=Myxml.firstChild.firstChild; st=user.toString().indexOf("
"); end1=user.toString().indexOf('"',st); end2=user.toString().indexOf('"',end1+1); att1=user.toString().substring(st+1,(end1-1)); val1=user.toString().substring(end1+1,(end2)); trace(att1+"="+val1); output- id=1 |
Attributes[]
|
||||||||||||||||||||||||||
|
מחזיר מערך
שמכיל את כל ה-nodes
באובייקט xml
הנוכחי . דוגמא : attarray=new Array(); Myxml=new XML("<member><user
id='1'>gadi</user><pass>f5pro</pass></member>"); user=Myxml.firstChild; attarray=user.childNodes; trace(attarray[0].nodeName); trace(attarray[1].nodeName); output- user pass אם ה-nodeType=3 , ה-nodeName יהיה שווה ל-null . |
childNodes
|
את המסמך
הכנתי בתקופה שרציתי להבין יותר טוב את הסינטקס והשימוש באובייקט xml בפלאש . אני מקווה שאנשים ימצאו
במסמך חומר
שיכול לעזור להם . כל הזכויות שמורות לגדי סרבניק. השימוש במסמך הוא לשימוש לא
מסחרי בלבד . מי שרוצה
להשתמש בו
מעבר ללימוד אישי מוזמן לפנות אלי (mailto:gadi.sr@gmail.com) ונדון
בנושא .