|
А почему у меня correlate не работает?
|
|||
---|---|---|---|
#18+
Кто можеть помочь? response из сервера:<a:RespItem> <a:bIN>123456748</a:bIN> <a:dataSource>0</a:dataSource> <a:fullAddress>г.xxx, Улица xxx , д.xx</a:fullAddress> <a:fullName>Гос. предприятие</a:fullName> <a:id>123456789456</a:id> <a:code>WW15</a:code> <a:rNN>987654321032</a:rNN> </a:RespItem> ************************************************ <xs:complexType name="RespItem"> <xs:sequence> <xs:element name="bIN" nillable="true" type="xs:string"/> <xs:element name="dataSource" type="xs:unsignedByte"/> <xs:element name="fullAddress" nillable="true" type="xs:string"/> <xs:element name="fullName" nillable="true" type="xs:string"/> <xs:element name="id" type="xs:long"/> <xs:element name="code" nillable="true" type="xs:string"/> <xs:element name="rNN" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType>класс в Intersystems cache:Class user.model.RespItem Extends (%RegisteredObject, %XML.Adaptor) { Parameter XMLNAME = "RespMOItem"; Property bIN As %String(MAXLEN = "", XMLNAME = "bIN"); Property dataSource As %xsd.unsignedByte(XMLNAME = "dataSource"); Property fullAddress As %String(MAXLEN = "", XMLNAME = "fullAddress"); Property fullname As %String(MAXLEN = "", XMLNAME = "fullname"); Property id As %Integer(XMLNAME = "id"); Property code As %String(XMLNAME = "code"); Property rNN As %String(MAXLEN = "", XMLNAME = "rNN"); Property state As %String(XMLNAME = "state", XMLPROJECTION = "CONTENT"); }мой код:..... #dim xmlr As %XML.Reader = ##class(%XML.Reader).%New() d xmlr.OpenStream(response) d xmlr.Correlate("RespItem","User.model.RespItem") #dim item as User.model.RespItem s count=0 while xmlr.Next(.item,.sc) { s count=count+1 w count,! w "name="_item.fullname,! w "id="_item.id,! w "code"_item.code,! } ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2015, 08:57 |
|
А почему у меня correlate не работает?
|
|||
---|---|---|---|
#18+
lfktkА почему у меня correlate не работает?Чтобы увидеть ошибку, замените d xmlr.OpenStream(response) d xmlr.Correlate("RespItem","User.model.RespItem") на d $system.OBJ.DisplayError(xmlr.OpenStream(response)) d $system.OBJ.DisplayError(xmlr.Correlate("RespItem","User.model.RespItem")) PS: имя класса регистрозависимо: user.model.RespItem ≠ User.model.RespItem (d xmlr.Correlate("RespItem"," U ser.model.RespItem")) Если " response из сервера " это веб, то можно воспользоваться сразу методом OpenURL: 8140106 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2015, 11:32 |
|
|
start [/forum/topic.php?fid=39&msg=39089992&tid=1556577]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 144ms |
0 / 0 |