[R] Assistance converting to R a python function that extracts from an XML file
Boris Steipe
boris.steipe at utoronto.ca
Sat Dec 13 22:22:14 CET 2014
Or ...
txt <- "<doc><CreaDate>20120627</CreaDate><CreaTime>07322600</CreaTime></doc>"
if (!require(XML)) {
install.packages("XML")
library(XML)
}
result <- xmlParse(txt, asText=TRUE)
# or ... result <- xmlParse(your-file-here.xml)
toString.XMLNode(getNodeSet(result,'//CreaDate/text()')[[1]])
toString.XMLNode(getNodeSet(result,'//CreaTime/text()')[[1]])
B.
On Dec 13, 2014, at 4:06 PM, Duncan Temple Lang <dtemplelang at ucdavis.edu> wrote:
> Hi Don
>
> library(XML)
> readxmldate =
> function(xmlfile)
> {
> doc = xmlParse(xmlfile)
> xpathSApply(doc, '//Esri/CreaDate | //Esri/CreaTime', xmlValue)
> }
>
> D.
>
> On 12/13/14, 12:36 PM, MacQueen, Don wrote:
>> I would appreciate assistance doing in R what a colleague has done in
>> python. Unfortunately (for me), I have almost no experience with either
>> python or xml.
>>
>> Within an xml file there is
>> <CreaDate>20120627</CreaDate><CreaTime>07322600</CreaTime>
>> and I need to extract those two values, 20120627 and 07322600
>>
>>
>> Here is the short python function. Even without knowing python, it's
>> conceptually clear what it does. I would like to do the same in R.
>>
>> def readxmldate(xmlfile):
>> tree = ET.parse(xmlfile)
>> root = tree.getroot()
>> for lev1 in root.findall('Esri'):
>> xdate = lev1.find('CreaDate').text
>> xtime = lev1.find('CreaTime').text
>> return xdate, xtime
>>
>>
>> Thanks in advance
>> -Don
>>
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list