|
Как сериализовать такой параметр XmlElementAttribute ?
|
|||
---|---|---|---|
#18+
Привет. Пишу клиента к сервису. Сгенерировался такой тип: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Т.е. внутри orderStatusEvent может быть как строковый тэг orgCode, так и лонговый тэг techCode. Как заполнить эту сущность, чтобы итоге сериализовалось в такой XML ? Код: c# 1. 2. 3.
Пытаюсь через анонимный тип: Код: c# 1. 2. 3. 4.
На OrderStatusEvent сериализатор не жалуется вроде. А вот на statusCode вылетает ошибка при вызове сервиса: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 12:55 |
|
Как сериализовать такой параметр XmlElementAttribute ?
|
|||
---|---|---|---|
#18+
Вот XSD кусок Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 13:27 |
|
Как сериализовать такой параметр XmlElementAttribute ?
|
|||
---|---|---|---|
#18+
ProBiotek, Если что то object то надоть сувать туды XmlElement нужной структуры для сериализации и вытаскивать XmlElement при десериализации и дальше разбирать вручную. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 14:32 |
|
Как сериализовать такой параметр XmlElementAttribute ?
|
|||
---|---|---|---|
#18+
Решил проблему. Нагулил как сериализовать xs:choise правильно и подправил сгенеренный код под это. Наверное можно было и автоматически сгенеренный код как-то правильно вызывать, но нашел только такое решение. Переписал так Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55.
Тут интересно 2 момента: 1. "public string Item" вместо "public object Item" Без этого при сериализации вставлялось Код: xml 1.
Вроде бы не критично (валидатор сервиса пропустил), но если описать элемент как строку, то вышло без этой приписки. 2. Form = System.Xml.Schema.XmlSchemaForm.Unqualified Без этого при сериализации в элемент явно вставлялся неймспейс, что не проходило валидатор сервиса. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 14:45 |
|
|
start [/forum/topic.php?fid=20&fpage=53&tid=1400249]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
16ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
3ms |
others: | 287ms |
total: | 423ms |
0 / 0 |