Index: /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/Byte2DebugStringFormatter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/Byte2DebugStringFormatter.cs	(revision 1616)
+++ /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/Byte2DebugStringFormatter.cs	(revision 1616)
@@ -0,0 +1,14 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.Persistence.Interfaces;
+using HeuristicLab.Persistence.Default.Xml;
+using HeuristicLab.Persistence.Core;
+using HeuristicLab.Persistence.Core.Tokens;
+
+namespace HeuristicLab.Persistence.Default.DebugString.Formatters {
+
+  [EmptyStorableClass]
+  public class Byte2DebugStringFormatter : ValueType2DebugStringFormatterBase<byte> { }
+
+}
Index: /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/Long2DebugStringFormatter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/Long2DebugStringFormatter.cs	(revision 1616)
+++ /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/Long2DebugStringFormatter.cs	(revision 1616)
@@ -0,0 +1,14 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.Persistence.Interfaces;
+using HeuristicLab.Persistence.Default.Xml;
+using HeuristicLab.Persistence.Core;
+using HeuristicLab.Persistence.Core.Tokens;
+
+namespace HeuristicLab.Persistence.Default.DebugString.Formatters {
+
+  [EmptyStorableClass]
+  public class Long2DebugStringFormatter : ValueType2DebugStringFormatterBase<long> { }
+
+}
Index: /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/SByte2DebugStringFormatter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/SByte2DebugStringFormatter.cs	(revision 1616)
+++ /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/SByte2DebugStringFormatter.cs	(revision 1616)
@@ -0,0 +1,14 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.Persistence.Interfaces;
+using HeuristicLab.Persistence.Default.Xml;
+using HeuristicLab.Persistence.Core;
+using HeuristicLab.Persistence.Core.Tokens;
+
+namespace HeuristicLab.Persistence.Default.DebugString.Formatters {
+
+  [EmptyStorableClass]
+  public class SByte2DebugStringFormatter : ValueType2DebugStringFormatterBase<sbyte> { }
+
+}
Index: /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/Short2DebugStringFormatter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/Short2DebugStringFormatter.cs	(revision 1616)
+++ /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/Short2DebugStringFormatter.cs	(revision 1616)
@@ -0,0 +1,14 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.Persistence.Interfaces;
+using HeuristicLab.Persistence.Default.Xml;
+using HeuristicLab.Persistence.Core;
+using HeuristicLab.Persistence.Core.Tokens;
+
+namespace HeuristicLab.Persistence.Default.DebugString.Formatters {
+
+  [EmptyStorableClass]
+  public class Short2DebugStringFormatter : ValueType2DebugStringFormatterBase<short> { }
+
+}
Index: /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/UInt2DebugStringFormatter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/UInt2DebugStringFormatter.cs	(revision 1616)
+++ /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/UInt2DebugStringFormatter.cs	(revision 1616)
@@ -0,0 +1,14 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.Persistence.Interfaces;
+using HeuristicLab.Persistence.Default.Xml;
+using HeuristicLab.Persistence.Core;
+using HeuristicLab.Persistence.Core.Tokens;
+
+namespace HeuristicLab.Persistence.Default.DebugString.Formatters {
+
+  [EmptyStorableClass]
+  public class UInt2DebugStringFormatter : ValueType2DebugStringFormatterBase<uint> { }
+
+}
Index: /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/ULong2DebugStringFormatter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/ULong2DebugStringFormatter.cs	(revision 1616)
+++ /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/ULong2DebugStringFormatter.cs	(revision 1616)
@@ -0,0 +1,14 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.Persistence.Interfaces;
+using HeuristicLab.Persistence.Default.Xml;
+using HeuristicLab.Persistence.Core;
+using HeuristicLab.Persistence.Core.Tokens;
+
+namespace HeuristicLab.Persistence.Default.DebugString.Formatters {
+
+  [EmptyStorableClass]
+  public class ULong2DebugStringFormatter : ValueType2DebugStringFormatterBase<ulong> { }
+
+}
Index: /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/UShort2DebugStringFormatter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/UShort2DebugStringFormatter.cs	(revision 1616)
+++ /trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/Formatters/UShort2DebugStringFormatter.cs	(revision 1616)
@@ -0,0 +1,14 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.Persistence.Interfaces;
+using HeuristicLab.Persistence.Default.Xml;
+using HeuristicLab.Persistence.Core;
+using HeuristicLab.Persistence.Core.Tokens;
+
+namespace HeuristicLab.Persistence.Default.DebugString.Formatters {
+
+  [EmptyStorableClass]
+  public class UShort2DebugStringFormatter : ValueType2DebugStringFormatterBase<ushort> { }
+
+}
Index: unk/sources/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/Sting2XmlFormatter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/Sting2XmlFormatter.cs	(revision 1615)
+++ 	(revision )
@@ -1,30 +1,0 @@
-﻿using System;
-using System.Text;
-using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Interfaces;
-
-namespace HeuristicLab.Persistence.Default.Xml.Primitive {
-
-  [EmptyStorableClass]
-  public class String2XmlFormatter : IFormatter {
-
-    public Type Type { get { return typeof(string); } }
-    public IFormat Format { get { return XmlFormat.Instance;  } }
-
-    public object DoFormat(object o) {      
-      return "<![CDATA[" +
-        ((string)o).Replace("]]>", "]]]]><![CDATA[>") +
-        "]]>";
-    }
-
-    public object Parse(object o) {
-      StringBuilder sb = new StringBuilder();
-      foreach (string s in ((string)o).Split(
-        new[] { "<![CDATA[", "]]>" },
-        StringSplitOptions.RemoveEmptyEntries)) {
-        sb.Append(s);
-      }
-      return sb.ToString();
-    }
-  }  
-}
Index: /trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs	(revision 1615)
+++ /trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs	(revision 1616)
@@ -41,6 +41,5 @@
         try {
           iterator = handlers[reader.Name].Invoke();
-        }
-        catch (KeyNotFoundException) {
+        } catch (KeyNotFoundException) {
           throw new InvalidOperationException(String.Format(
             "No handler for XML tag \"{0}\" installed",
@@ -58,9 +57,11 @@
       if (idString != null)
         id = int.Parse(idString);
-      yield return new PrimitiveToken(
-        reader.GetAttribute("name"),
-        int.Parse(reader.GetAttribute("typeId")),
-        id,
-        new XmlString(reader.ReadString()));
+      string name = reader.GetAttribute("name");
+      int typeId = int.Parse(reader.GetAttribute("typeId"));
+      XmlReader inner = reader.ReadSubtree();
+      inner.Read();
+      string xml = inner.ReadInnerXml();
+      inner.Close();      
+      yield return new PrimitiveToken(name, typeId, id, new XmlString(xml));
     }
 
@@ -123,5 +124,7 @@
       XmlParser parser = new XmlParser(
         new StreamReader(zipFile.GetInputStream(zipFile.GetEntry("data.xml"))));
-      return deSerializer.Deserialize(parser);
+      object result = deSerializer.Deserialize(parser);
+      zipFile.Close();
+      return result;
     }
   }
Index: /trunk/sources/HeuristicLab.Persistence/3.3/HeuristicLab.Persistence-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Persistence/3.3/HeuristicLab.Persistence-3.3.csproj	(revision 1615)
+++ /trunk/sources/HeuristicLab.Persistence/3.3/HeuristicLab.Persistence-3.3.csproj	(revision 1616)
@@ -103,4 +103,11 @@
     <Compile Include="Default\DebugString\DebugString.cs" />
     <Compile Include="Default\DebugString\DebugStringFormat.cs" />
+    <Compile Include="Default\DebugString\Formatters\SByte2DebugStringFormatter.cs" />
+    <Compile Include="Default\DebugString\Formatters\UInt2DebugStringFormatter.cs" />
+    <Compile Include="Default\DebugString\Formatters\Long2DebugStringFormatter.cs" />
+    <Compile Include="Default\DebugString\Formatters\ULong2DebugStringFormatter.cs" />
+    <Compile Include="Default\DebugString\Formatters\Short2DebugStringFormatter.cs" />
+    <Compile Include="Default\DebugString\Formatters\UShort2DebugStringFormatter.cs" />
+    <Compile Include="Default\DebugString\Formatters\Byte2DebugStringFormatter.cs" />
     <Compile Include="Default\DebugString\Formatters\ValueType2DebugStringFormatterBase.cs" />
     <Compile Include="Default\DebugString\Formatters\String2DebugStringFormatter.cs" />
