# File lib/Dnsruby/resource/DNSKEY.rb, line 142
      def from_string(input)
        if (input.length > 0)
          data = input.split(" ")
          self.flags=(data[0].to_i)
          self.protocol=(data[1].to_i)
          self.algorithm=(data[2])
          # key can include whitespace - include all text

          # until we come to " )" at the end, and then gsub

          # the white space out

          # Also, brackets may or may not be present

          # Not to mention comments! ";"

          buf = ""
          index = 3
          end_index = data.length - 1
          if (data[index]=="(")
            end_index = data.length - 2
            index = 4
          end
          (index..end_index).each {|i|
            if (comment_index = data[i].index(";"))
              buf += data[i].slice(0, comment_index)
              # @TODO@ We lose the comments here - we should really keep them for when we write back to string format?

              break
            else
              buf += data[i]
            end
          }
          self.key=(buf)
        end
      end