On Thursday 05 October 2006 02:27, mike.vidal@gmail.com wrote:
Does anyone have a link to current information about how to work with XML with Squeak? _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Try the Squeak Swiki - search for YAXO.
The YAXO and XML article includes these useful examples of using the DOM parser.
======================================== Writing to a file called MyXml.xml
"Code below describes opening a stream and writer and associating the writer with XMLDocument"
doc := XMLDocument new. stream := FileStream fileNamed: 'MyXml.xml'. "speicifying the stream" writer := XMLWriter on:stream. "specifying the writer" writer initialize.
"Code below describes how you could write an xml element with a tag " elmt := XMLElement named: 'User' attributes: Dictionary new.
"adding the attribute tags and values to the " childElmt := XMLElement named: 'Name' attributes: Dictionary new. childElmt addContent: (XMLStringNode string: ('rao')). "adding a tag called Name with the value 'rao'" elmt addElement: childElmt.
doc addElement: elmt. doc printXMLOn: writer. stream close.
Reading from MyXml.xml f := FileStream fileNamed: 'xml.xml'. "opening a stream" doc := XMLDOMParser parseDocumentFrom: f. f close. xmlUser := (doc elements) at: 1. "now you have the entire user data"
"readng the name" elmt := xmlUser firstTagNamed: #Name. userName := elmt contentString.
Notice how once you call the parseDocumentFrom: you don't need to have the stream open because XMLDOMParser builds tree right away from the given stream. =====================================
Hope this helps.
- Ken