Dear Jim,
Thanks for your reply.
What you did is 100% what I need -- I now have a data frame with the
relevant data and I can take up from there.
Regards

Lorenzo

On Sun, Oct 11, 2015 at 03:54:10PM -0400, jim holtman wrote:
Not sure exactly what you want since you did not show an expected output,
but this will extract the attributes from AccVal in the structure:

#####################################################################
 library(XML)

 xmlfile=xmlParse("/temp/account.xml")

 class(xmlfile) #"XMLInternalDocument" "XMLAbstractDocument"
[1] "XMLInternalDocument" "XMLAbstractDocument"
 xmltop = xmlRoot(xmlfile) #gives content of root

 #####  try this  ##############

 accts <- sapply(getNodeSet(xmltop, "//AccVal"), xmlAttrs)

 # create data.frame
 accts_df <- as.data.frame(t(accts), stringsAsFactors = FALSE)
 str(accts_df)
'data.frame':   364 obs. of  4 variables:
$ key        : chr  "AccountCode" "AccountReady" "AccountType"
"AccruedCash" ...
$ val        : chr  "DU108063" "true" "CORPORATION" "0" ...
$ currency   : chr  "" "" "" "AUD" ...
$ accountName: chr  "DU108063" "DU108063" "DU108063" "DU108063" ...
 head(accts_df)
          key         val currency accountName
1  AccountCode    DU108063             DU108063
2 AccountReady        true             DU108063
3  AccountType CORPORATION             DU108063
4  AccruedCash           0      AUD    DU108063
5  AccruedCash           0     BASE    DU108063
6  AccruedCash           0      CAD    DU108063



Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.

On Sun, Oct 11, 2015 at 3:10 PM, Lorenzo Isella <lorenzo.ise...@gmail.com>
wrote:

Dear All,
I am struggling with the parsing of the xml file you can find at

https://www.dropbox.com/s/i4ld5qa26hwrhj7/account.xml?dl=0

Essentially, I would like to be able to convert it to a data.frame to
manipulate it in R and detect all the attributes of an account for
which  unrealizedPNL goes above a threshold.
I stored that file as account.xml and looking here and there on the
web I put together the following script


#####################################################################
library(XML)

xmlfile=xmlParse("account.xml")

class(xmlfile) #"XMLInternalDocument" "XMLAbstractDocument"
xmltop = xmlRoot(xmlfile) #gives content of root
class(xmltop)#"XMLInternalElementNode" "XMLInternalNode"
"XMLAbstractNode"
xmlName(xmltop) #give name of node, PubmedArticleSet
xmlSize(xmltop) #how many children in node, 19
xmlName(xmltop[[1]]) #name of root's children

# have a look at the content of the first child entry
xmltop[[1]]
# have a look at the content of the 2nd child entry
xmltop[[2]]
#Root Node's children
number <- xmlSize(xmltop[[1]]) #number of nodes in each child
name <- xmlSApply(xmltop[[1]], xmlName) #name(s)
attribute <- xmlSApply(xmltop[[1]], xmlAttrs) #attribute(s)
size <- xmlSApply(xmltop[[1]], xmlSize) #size


values <- xmlSApply(xmltop, function(x) xmlSApply(x, xmlValue))
#####################################################################

which is leading me nowhere.
Any suggestion is appreciated.
Cheers

Lorenzo

______________________________________________
R-help@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.


______________________________________________
R-help@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.

Reply via email to