|
Вопрос по импорту данных из XML
|
|||
---|---|---|---|
#18+
Здравствуйте! Для одного класса я написал метод экспорта данных в XML и соответственного импорта данных. ClassMethod Export(FileName As %String) As %Status { open FileName:"WNS" use FileName write "<!DOCTYPE Persons [", ! do ##class(Test.Person).XMLDTD() write "]>", ! write "<Persons>", ! set rs = ##class(%ResultSet).%New("Test.Person:Extent") set rc = rs.Execute() while rs.Next() { set id = rs.GetData(1) set p = ##class(Test.Person).%OpenId(id) do p.XMLExport() write ! } write "</Persons>", ! close FileName quit $$$OK } ClassMethod Import(FileName As %String) As %Status { set reader = ##class(%XML.Reader).%New() do reader.OpenFile(FileName) do reader.Correlate("Persons","Test.Person") set p="" while (reader.Next(.p)) { do p.%Save() write "Данные про лицо ",p.Name," прочитаны",! } do reader.Close() quit $$$OK } При экспорте XML-файл создается, а вот при вызове метода импорта данные из XML-файла не считываются. Не могли бы вы подсказать, что не так? Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2013, 14:09 |
|
Вопрос по импорту данных из XML
|
|||
---|---|---|---|
#18+
Горбань Глеб , Почему бы не использовать документированный способ экспорта данных в XML, учитывая, что The methods in %XML.Adaptor are deprecated and are mostly not documented. Ваш пример примет вид:ClassMethod Export(FileName As %String) As %Status { Set writer=##class(%XML.Writer).%New() Set writer.Indent=1 Do writer.OutputToFile(FileName) Do writer.RootElement("Persons") Set rset = ##class(%ResultSet).%New("Test.Person:Extent") Do rset.Execute() While (rset.Next()) { Do writer.Object(##class(Test.Person).%OpenId(rset.Data("ID"))) } Do writer.EndRootElement() Do writer.EndDocument() } ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 10:31 |
|
|
start [/forum/topic.php?fid=39&gotonew=1&tid=1557243]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 129ms |
0 / 0 |