Insert excerpt |
---|
| BrightScript Version Navigation Menu |
---|
| BrightScript Version Navigation Menu |
---|
nopanel | true |
---|
|
...
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:
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 |