\HeaderA{readXml}{(Advanced) Read XML files of Affymetrix sample attriubtes or
annotation}{readXml}
\keyword{manip}{readXml}
\begin{Description}\relax
This functions reads the content of Affymetrix DTT (MAGE) or ARR
sample files, or AffxNetAffxAnnotFile array annotation files, return
an internal representation of the underlying XML. The return value can
be used with \code{\LinkA{xclass}{xclass}} to rapidly create R objects
representing deeply nested nodes of the document. The return value can
also be used with \code{xpathApply} in the XML package for
access to character-based representation of the data.
\end{Description}
\begin{Usage}
\begin{verbatim}
readXml(fl, ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{fl}] A length-1 character vector giving the full path to the file
to be parsed.
\item[\code{...}] Additional arguments, passed to
\code{xmlTreeParse}.
\end{ldescription}
\end{Arguments}
\begin{Value}
An object of class \code{XMLInternalDocument}.
\end{Value}
\begin{Author}\relax
Martin Morgan
\end{Author}
\begin{SeeAlso}\relax
The vignettes `Retrieving MAGE and ARR sample attributes' and
`Annotation retrieval with NetAffxResource' for detailed illustration
of use.

\code{\LinkA{xclass}{xclass}} for instantiating objects from xpath queries.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
mageDir <- system.file("extdata", "DTT", package="AffyCompatible")
mageFiles <- list.files(mageDir, full=TRUE)
xml <- readXml(mageFiles[[1]])
xclass(xml, "//MeasuredBioAssay")[[1]]
\end{ExampleCode}
\end{Examples}

