DataSection dataItemCount: Data.i 3 names: Data.s "April", "Tam O'Shanter", "Emily" remarks: Data.s "Bubbly: I'm > Tam and <= Emily", ~"Burns: \"When chapman billies leave the street ...\"", "Short & shrift" EndDataSection Structure characteristic name.s remark.s EndStructure NewList didel.characteristic() Define item.s, numberOfItems, i Restore dataItemCount Read.i numberOfItems ;add names Restore names For i = 1 To numberOfItems AddElement(didel()) Read.s item didel()\name = item Next ;add remarks ResetList(didel()) FirstElement(didel()) Restore remarks: For i = 1 To numberOfItems Read.s item didel()\remark = item NextElement(didel()) Next Define xml, mainNode, itemNode ResetList(didel()) FirstElement(didel()) xml = CreateXML(#PB_Any) mainNode = CreateXMLNode(RootXMLNode(xml), "CharacterRemarks") ForEach didel() itemNode = CreateXMLNode(mainNode, "Character") SetXMLAttribute(itemNode, "name", didel()\name) SetXMLNodeText(itemNode, didel()\remark) Next FormatXML(xml, #PB_XML_ReFormat | #PB_XML_WindowsNewline | #PB_XML_ReIndent) If OpenConsole() PrintN(ComposeXML(xml, #PB_XML_NoDeclaration)) Print(#CRLF$ + #CRLF$ + "Press ENTER to exit"): Input() CloseConsole() EndIf