How to get three nested enumerations in LaTeX?

Is it this alignment you wish?

\documentclass{article}
\usepackage{enumitem}
\usepackage[showframe]{geometry}

\newlength{\labelwd}
\settowidth{\labelwd}{9.9.9}
\setlist[enumerate]{label*=.\arabic*, wide = 0.5em, labelwidth=\labelwd}
\setlist[enumerate, 1]{label=\arabic*}
\setlist[enumerate, 2,3]{labelindent=-\dimexpr\labelwd+\labelsep}

\begin{document}

 \begin{enumerate}[leftmargin=\dimexpr\labelwd+\labelsep + 0.5em,]
    \item Top Level. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text.
    \begin{enumerate}
        \item Second Level. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text.
        \begin{enumerate}%[labelindent = -\dimexpr1cm + \labelsep]
        \item Third Level. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text.
        \end{enumerate}
   \end{enumerate}
\end{enumerate}

\end{document} 

enter image description here


You can use the enumitem package to produce:

enter image description here

Here's the code:

\documentclass{article}
\usepackage{enumitem}
\setlist[enumerate,1]{label=\arabic*}
\setlist[enumerate,2]{label=\theenumi.\arabic*}
\setlist[enumerate,3]{label=\theenumii.\arabic*}
\begin{document}

\begin{enumerate}
 \item Top Levek
   \begin{enumerate}
   \item Second Level
     \begin{enumerate}
     \item Third Level
     \end{enumerate}
   \end{enumerate}
 \end{enumerate}

\end{document}

The important bits are the lines

\usepackage{enumitem}
\setlist[enumerate,1]{label=\arabic*}
\setlist[enumerate,2]{label=\theenumi.\arabic*}
\setlist[enumerate,3]{label=\theenumii.\arabic*}

These specify what you want the labels to look like. I highly recommend reading the package manual if you need to tweak further. It's very to easy to read.

Edit TO get the indentation in the OP you can use:

\documentclass{article}
\usepackage{enumitem}
\setlist[enumerate]{
   leftmargin=0pt, labelindent*=0pt, labelwidth=0pt,align=left
}
\setlist[enumerate,1]{label=\arabic*}
\setlist[enumerate,2]{label=\theenumi.\arabic*}
\setlist[enumerate,3]{label=\theenumii.\arabic*}

\begin{document}

\begin{enumerate}
 \item Top Level
   \begin{enumerate}
   \item Second Level
     \begin{enumerate}
     \item Third Level
     \end{enumerate}
   \end{enumerate}
 \end{enumerate}

\end{document}

to give:

enter image description here

EDIT II As Mico says in the comments, for the required indentation it is easier to use \setlist[enumerate]{ wide=0pt }.