XML - get node by name
well not sure how its done in R , but heres a way to do it in simple Excel. http://decisionstats.com/2008/parsing-xml-files-easily/ Parsing XML files easily To parse a XML (or KML or PMML) file easily without using any complicated softwares, here is a piece of code that fits right in your excel sheet. Just import this file using Excel, and then use the function getElement, after pasting the XML code in 1 cell. xml-getelement It is used for simply reading the xml/kml code as a text string. Just pasted all the xml code in one cell, and used the start ,end function (for example start=<constraints> and end=</constraints> to get the value of constraints in the xml code). Simply read into the value in another cell using the getElement function. heres the code if you ever need it.Just paste it into the VB editor of Excel to create the GetElement function (if not there already) or simply import the file in the link above. Attribute VB_Name = "Module1? Public Function getElement(xml As String, start As String, finish As String) For i = 1 To Len(xml) If Mid(xml, i, Len(start)) = start Then For j = i + Len(start) To Len(xml) If Mid(xml, j, Len(finish)) = finish Then getElement = Mid(xml, i + Len(start), j - i - Len(start)) Exit Function End If Next j End If Next i End Function
On Sun, Sep 7, 2008 at 1:52 PM, Antje <niederlein-rstat at yahoo.de> wrote:
Hi there,
I try to rewrite some Java-code with R. It deals with reading XML files. I started with the XML package. In Java, I had a very useful method which gave me a node by using:
name of the node
index of appearance
start point: global (false) / local (true)
So, I could do something like this.
setCurrentChildNode("data", 0);
getValueOfElement("val",1,true);
--> gives 45
setCurrentChildNode("data", 1);
getValueOfElement("val",1,true);
--> gives 11
getValueOfElement("val",1,false);
--> gives 45
<root>
<data loc="1">
<val i="t1"> 22 </val>
<val i="t2"> 45 </val>
</data>
<data loc="2">
<val i="t1"> 44 </val>
<val i="t2"> 11 </val>
</data>
</root>
Now, I'd like to do something like this in R. Most important would be to retrieve a node just by its name, not by the whole path. How is it possible?
Can anybody help me with this issue?
Antje
______________________________________________ R-help at r-project.org mailing list 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.
-- Regards, Ajay Ohri http://tinyurl.com/liajayohri