Jump to content

XML/Output: Difference between revisions

→‎{{header|PureBasic}}: Corrected code sample to use escaped characters
(Added Algol 68)
(→‎{{header|PureBasic}}: Corrected code sample to use escaped characters)
Line 1,704:
 
=={{header|PureBasic}}==
<lang Purebasic>DataSection
input lines are in separate files names.txt and remarks.txt. Output-XML is written to file demo.xml .
dataItemCount:
<lang Purebasic>
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
If ReadFile(0, GetCurrentDirectory()+"names.txt")
 
While Eof(0) = 0
Restore dataItemCount
AddElement(didel())
Read.i numberOfItems
didel()\name = ReadString(0)
 
Wend
;add names
CloseFile(0)
Restore names
EndIf
For i = 1 To numberOfItems
AddElement(didel())
Read.s item
didel()\name = ReadString(0) item
Next
 
;add remarks
ResetList(didel())
FirstElement(didel())
Restore remarks:
If ReadFile(0, GetCurrentDirectory()+"remarks.txt")
For i = 1 To numberOfItems
While Eof(0) = 0
Read.s item
didel()\remark = ReadString(0)
NextElement(didel())\remark = item
ForEach NextElement(didel())
Wend
Next
CloseFile(0)
 
EndIf
Define xml, mainNode, itemNode
ResetList(didel())
FirstElement(didel())
xml = CreateXML(#PB_Any)
mainNode = CreateXMLNode(RootXMLNode(xml), "CharacterRemarks")
ForEach didel()
SetXMLNodeName(mainNode, "CharacterRemarks")
itemitemNode = CreateXMLNode(mainNode, "Character")
ForEach didel()
SetXMLAttribute(itemitemNode, "name", didel()\name)
item = CreateXMLNode(mainNode)
SetXMLNodeText(itemitemNode, didel()\remark)
SetXMLNodeName(item, "Character")
Next
SetXMLAttribute(item, "name", didel()\name)
FormatXML(xml, #PB_XML_ReFormat | #PB_XML_WindowsNewline | #PB_XML_ReIndent)
SetXMLNodeText(item, didel()\remark)
Next
FormatXML(xml, #PB_XML_ReFormat | #PB_XML_WindowsNewline | #PB_XML_ReIndent)
SaveXML(xml, "demo.xml")
 
If OpenConsole()
</lang>
PrintN(ComposeXML(xml, #PB_XML_NoDeclaration))
Print(#CRLF$ + #CRLF$ + "Press ENTER to exit"): Input()
CloseConsole()
EndIf</lang>
Sample output:
<pre><CharacterRemarks>
<Character name="April">Bubbly: I'm &gt; Tam and &lt;= Emily</Character>
<Character name="Tam O&apos;Shanter">Burns: "When chapman billies leave the st
reet ..."</Character>
<Character name="Emily">Short &amp; shrift</Character>
</CharacterRemarks>
</langpre>
 
=={{header|Python}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.