diff --git a/lib/magnum-pi/gem_ext/ox/ax.rb b/lib/magnum-pi/gem_ext/ox/ax.rb
index <HASH>..<HASH> 100644
--- a/lib/magnum-pi/gem_ext/ox/ax.rb
+++ b/lib/magnum-pi/gem_ext/ox/ax.rb
@@ -42,6 +42,12 @@ class Ax < Ox::Sax
     end
   end
 
+  def cdata(str)
+    if element = current_element
+      element[:text] = str
+    end
+  end
+
   def end_element(name)
     element = finalize_element
     if entry?
diff --git a/test/unit/gem_ext/test_ax.rb b/test/unit/gem_ext/test_ax.rb
index <HASH>..<HASH> 100644
--- a/test/unit/gem_ext/test_ax.rb
+++ b/test/unit/gem_ext/test_ax.rb
@@ -11,7 +11,7 @@ module Unit
             <data>
               <article>
                 <title>MagnumPI is awesome!!!</title>
-                <category>ruby</category>
+                <category><![CDATA[ruby]]></category>
               </article>
               <article>
                 <title>Netherlands beats Spain with 1-5 :)</title>
Interpreting CDATA as text when parsing XML documents with Ax