Sync
This commit is contained in:
parent
6f050a029e
commit
776bba907c
3887 changed files with 59894 additions and 7280 deletions
36
Task/XML-Input/Cache-ObjectScript/xml-input.cos
Normal file
36
Task/XML-Input/Cache-ObjectScript/xml-input.cos
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
Class XML.Students [ Abstract ]
|
||||
{
|
||||
|
||||
XData XMLData
|
||||
{
|
||||
<Students>
|
||||
<Student Name="April" Gender="F" DateOfBirth="1989-01-02" />
|
||||
<Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" />
|
||||
<Student Name="Chad" Gender="M" DateOfBirth="1991-05-06" />
|
||||
<Student Name="Dave" Gender="M" DateOfBirth="1992-07-08">
|
||||
<Pet Type="dog" Name="Rover" />
|
||||
</Student>
|
||||
<Student DateOfBirth="1993-09-10" Gender="F" Name="Émily" />
|
||||
</Students>
|
||||
}
|
||||
|
||||
ClassMethod Output() As %Status
|
||||
{
|
||||
// get xml stream from the 'XData' block contained in this class and parse
|
||||
Set xdata=##class(%Dictionary.CompiledXData).%OpenId($this_"||XMLData",, .sc)
|
||||
If $$$ISERR(sc) Quit sc
|
||||
Set sc=##class(%XML.TextReader).ParseStream(xdata.Data, .hdlr)
|
||||
If $$$ISERR(sc) Quit sc
|
||||
|
||||
// iterate through document, node by node
|
||||
While hdlr.Read() {
|
||||
If hdlr.Path="/Students/Student", hdlr.MoveToAttributeName("Name") {
|
||||
Write hdlr.Value, !
|
||||
}
|
||||
}
|
||||
|
||||
// finished
|
||||
Quit $$$OK
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue