如何对包含多个对象的 XML 进行反序列化和建模绑定到此类对象的集合?
目前我有一个自定义模型绑定器和模型绑定器提供程序,可以检测“text/xml”,使用 MvcContrib 对其进行反序列化(这是代码/设置),并将其绑定到我拥有的自定义模型,用于示例:
<User>
<name></name><role></role>
</User>
将绑定到具有 User.name, user.role
的 new User()
(正如您所期望的),并且 Action 当然开始如下:
ActionResult CreateUser(User u) {
现在我想知道是否可以反序列化如下所示的 XML:
<Users>
<User><name></name><role></role></User>
<User>...</User>
<User>...</User>
<Users>
并将其绑定到如下所示的 Action:
ActionResult CreateUsers(List<User> u) {
Currently I have a custom Model Binder and Model Binder Provider that detects "text/xml", deserializes it using MvcContrib (here is the code/setup), and binds it to a custom Model that I have, for example:
<User>
<name></name><role></role>
</User>
will bind to a new User()
that has User.name, user.role
(just as you would expect), and the Action of course starts like this:
ActionResult CreateUser(User u) {
Now I am wondering if I can deserialize XML that looks like this:
<Users>
<User><name></name><role></role></User>
<User>...</User>
<User>...</User>
<Users>
And bind it to an Action like this:
ActionResult CreateUsers(List<User> u) {
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试像这样注册您的模型绑定器:
注意:您不需要 ModelBinderProvider,因为当您在 Action 中指定
List
时,它会自动匹配类型和调用 SimpleUserBinder。Try registering your model binder like this:
Note: You won't need the ModelBinderProvider because when you specify the
List<User>
in your Action it will automatically match the type and call the SimpleUserBinder.