Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
...
- roXMLElement: This object provides support for parsing, generating, and containing XML.
- roXMLList: This object is used to contain a list of roXMLElement instances.
Dot Operator
The "." Dot Operator has the following features when used with XML objects:
...
Given the XML in the above example.xml file, then the following code will return an roXMLList instance with three entries:
Code Block |
---|
rsp=CreateObject("roXMLElement") rsp.Parse(ReadAsciiFile("example.xml")) ? rsp.photos.photo |
The following will return an roXMLElement reference to the first photo (id="3131875696"):
Code Block |
---|
? rsp.photos.photo[0] |
The following will return an roXMLList reference containing the <photos> tag:
Code Block |
---|
? rsp.photos |
The following will return the string “100”:
Code Block |
---|
rsp.photos@perpage |
You can use the roXMLElement.GetText() method to return an element’s text: For example, if the variable <booklist>
contains the element <book lang=eng>The Dawn of Man</book>
, then the following code will print the string “The Dawn of Man”.
Code Block |
---|
Print booklist.book.gettext() |
Alternatively, using the Attribute Operator will print the string “eng”.
Code Block |
---|
print booklist.book@lang |
Flikr code clip
Code Block |
---|
REM REM Interestingness REM pass an (optional) page of value 1 - 5 to get 100 photos REM starting at 0/100/200/300/400 REM REM returns a list of "Interestingness" photos with 100 entries REM Function GetInterestingnessPhotoList(http as Object, page=1 As Integer) As Object print "page=";page http.SetUrl("http://api.flickr.com/services/rest/?method=flickr.interestingness.getList&api_key=YOURKEYGOESHERE&page="+mid(stri(page),2)) xml=http.GetToString() rsp=CreateObject("roXMLElement") if not rsp.Parse(xml) then stop return helperPhotoListFromXML(http, rsp.photos.photo) 'rsp.GetBody().Peek().GetBody()) End Function Function helperPhotoListFromXML(http As Object, xmllist As Object, owner=invalid As dynamic) As Object photolist=CreateObject("roList") for each photo in xmllist photolist.Push(newPhotoFromXML(http, photo, owner)) end for return photolist End Function REM REM newPhotoFromXML REM REM Takes an roXMLElement Object that is an <photo> ... </photo> REM Returns an brs object of type Photo REM photo.GetTitle() REM photo.GetID() REM photo.GetURL() REM photo.GetOwner() REM Function newPhotoFromXML(http As Object, xml As Object, owner As dynamic) As Object photo = CreateObject("roAssociativeArray") photo.http=http photo.xml=xml photo.owner=owner photo.GetTitle=function():return m.xml@title:end function photo.GetID=function():return m.xml@id:end function photo.GetOwner=pGetOwner photo.GetURL=pGetURL return photo End Function Function pGetOwner() As String if m.owner<>invalid return m.owner return m.xml@owner End Function Function pGetURL() As String a=m.xml.GetAttributes() url="http://farm"+a.farm+".static.flickr.com/"+a.server+"/"+a.id+"_"+a.secret+".jpg" return url End Function |