[R] getNodeSet - what am I doing wrong?

Johannes Graumann johannes_graumann at web.de
Tue Aug 31 12:06:39 CEST 2010


Thanks!
but:
> library(XML)
> xmlDoc <- xmlTreeParse("http://www.unimod.org/xml/unimod_tables.xml")
> getNodeSet(xmlDoc,"//x:modifications_row", "x")
Error in function (classes, fdef, mtable)  : 
  unable to find an inherited method for function "saveXML", for signature 
"XMLDocument"

?

Thanks, Joh


Duncan Temple Lang wrote:

> 
> Hi Johannes
> 
>  This is a common issue.  The document has a default XML namespace, e.g.
> the root node is defined as
> 
>  <unimod xmlns="http://www.unimod.org/xmlns/schema/unimod_tables_1"...>
>    .....
> 
>  So you need to specify which namespace to match in the XPath expression
> in getNodeSet().  The XML package  provides a "convenient" facility for
> this. You need only specify the prefix such as "x" and that will
> be bound to the default namespace. You need to specify this in
> two places - where you use it in the XPath expression and
> in the namespaces argument of getNodeSet()
> 
> So
>    getNodeSet(test, "//x:modifications_row", "x")
> 
> gives you probably what you want.
> 
>  D.
> 
> 
> 
> On 8/30/10 8:02 AM, Johannes Graumann wrote:
>> library(XML)
>>> test <- xmlTreeParse(
>>> "http://www.unimod.org/xml/unimod_tables.xml",useInternalNodes=TRUE)
>>> getNodeSet(test,"//modifications_row")



More information about the R-help mailing list