如何对包含多个对象的 XML 进行反序列化和建模绑定到此类对象的集合?

发布于 2024-11-25 10:31:56 字数 827 浏览 1 评论 0原文

目前我有一个自定义模型绑定器和模型绑定器提供程序,可以检测“text/xml”,使用 MvcContrib 对其进行反序列化(这是代码/设置),并将其绑定到我拥有的自定义模型,用于示例:

<User>
<name></name><role></role>
</User>

将绑定到具有 User.name, user.rolenew 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

樱娆 2024-12-02 10:31:56

尝试像这样注册您的模型绑定器:

ModelBinders.Binders.Add(typeof(List<User>), new SimpleUserBinder());

注意:您不需要 ModelBinderProvider,因为当您在 Action 中指定 List 时,它会自动匹配类型和调用 SimpleUserBinder。

Try registering your model binder like this:

ModelBinders.Binders.Add(typeof(List<User>), new SimpleUserBinder());

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文