【问题标题】:How do I send an XML document to an ASP.NET MVC page for manipuation如何将 XML 文档发送到 ASP.NET MVC 页面进行操作
【发布时间】:2010-03-27 23:00:45
【问题描述】:

我有一些分层数据根据供应商的架构存储为服务器上的多个 XML 文件。在我的 ASP.NET MVC (2!) 应用程序中,我希望用户选择这些层次结构之一(即文件——我在控制器的索引操作中提供了一个列表)。当用户选择一个“编辑”时,我的编辑操作应该返回一个显示 XML 层次结构的页面(它是文件夹树的表示)。所以我的想法是,视图将返回包含 JQuery on load ajax 调用的 HTML 到服务器以获取 XML 数据——此时我将使用许多 JQuery 树控件之一呈现树。在客户端,我希望用户操作树,完成后,我想发回新的层次结构,我将在其中替换代表该层次结构的原始 XML 文件。

所以我的问题是:

  • 我应该使用什么表格来发送数据? XML 还是 JSON?如果我发送 XML,那么我不仅要读取 XML(JQuery 可以这样做),而且我还必须能够修改该 XML,然后将其发回。我可以使用 JQuery 来修改这个 XML DOM 吗?是否会保留所有命名空间声明?

  • 我应该以什么形式发回数据?如果我最初将层次结构作为 JSON 发送给客户端(使用 JsonResult),那么大概我会有一个 javascript 对象的层次结构。我必须有哪些选择才能将其发回?我是否必须在客户端上重新创建 XML 表示并将其发回?还是我应该序列化回 JSON,将其发布到服务器,然后让服务器根据架构重新创建 XML。

感谢您的建议。

【问题讨论】:

    标签: jquery asp.net-mvc xml json architecture


    【解决方案1】:

    嗯,好问题,假设我理解正确。

    这个问题实际上取决于您最终使用的jQuery 层次树插件以及呈现树所需的输入类型。您能否列出(带有链接)潜在候选人?

    不过,这是我的看法:

    1. “ChooseXMLToEditPage”上的下拉列表,每个下拉列表都指向一个特定的 XML file name

    2. 此页面上的提交按钮将发布到一个动作,该动作将从服务器获取 XML 文件,然后对其进行解析以满足 jQuery 插件的输入要求,并返回包含解析数据的视图。如果您不想在 HTML 源代码中插入数据,您可以使用 AJAX 获取此信息,但重要的部分是将其解析为 jQuery 插件的规范。

    3. 当用户完成对树的编辑后,查看您的 jQuery 插件可以使用哪些信息。也许它返回 XML,也许是 JSON。如果它返回任何一个,将它们解析为正确的架构应该不会太难,在服务器端执行此操作,因为 C#/VB.NET 更强大。

    4. 如果 jQuery 插件不返回 XML 或 JSON,则使用 jQuery,获取树的原始 HTML,将其发布到 action 并使用某种类型的 HTML 库将其解析为 XML(查看Html Agility Pack,或者如果您更喜欢使用Regular Expression to Parse HTML)。

    同样,这完全依赖于 jQuery 插件。但归根结底,jQuery 插件会为您提供某种类型的输出,这些输出可以被解析以匹配您的架构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      • 2014-09-28
      • 2020-09-12
      • 2010-09-16
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多