Index: trunk/src/scriptbuilder/structures/events/TelephoneEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/TelephoneEvent.java	(revision 1)
+++ trunk/src/scriptbuilder/structures/events/TelephoneEvent.java	(revision 35)
@@ -7,4 +7,6 @@
 
 import java.util.ArrayList;
+import scriptbuilder.structures.ELEMENT;
+import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
 
@@ -16,5 +18,5 @@
  * @author Bryan McGuffin
  */
-public class TelephoneEvent extends ScriptEvent
+public class TelephoneEvent extends ScriptEvent implements I_XML_Writable
 {
 
@@ -28,3 +30,43 @@
     public ArrayList<String> roles = new ArrayList<String>();
 
+    @Override
+    public String toXML()
+    {
+        String output = openTag(ELEMENT.TELEPHONE.tag);
+        for (int i = 0; i < lines.size(); i++)
+        {
+            if (roles.get(i).equalsIgnoreCase(ELEMENT.STUDENT.tag))
+            {
+                output += openTag(ELEMENT.STUDENT.tag);
+                output += lines.get(i);
+                output += closeTag(ELEMENT.STUDENT.tag);
+            }
+            else
+            {
+                output += openTag(ELEMENT.INSTRUCTOR.tag + " Role=\"" + roles.get(i) + "\"");
+                output += lines.get(i);
+                output += closeTag(ELEMENT.INSTRUCTOR.tag);
+            }
+        }
+        output += closeTag(ELEMENT.TELEPHONE.tag);
+        return output;
+    }
+
+    @Override
+    public String openTag(String s)
+    {
+        return "<" + s + ">\n";
+    }
+
+    @Override
+    public String closeTag(String s)
+    {
+        return "</" + s + ">\n";
+    }
+
+    @Override
+    public String emptyTag(String s)
+    {
+        return "<" + s + "/>\n";
+    }
 }
