【问题标题】:How to display 100K XML based DOM data on a JSP client page?如何在 JSP 客户端页面上显示 100K 基于 XML 的 DOM 数据?
【发布时间】:2015-12-10 19:26:25
【问题描述】:

我需要一些帮助来了解下一步该做什么。

我需要编写一个基于 Web 的搜索功能来从 XML 文件中查找医疗记录。 操作员可以输入患者姓名的一部分或全部,然后在 JSP 网页上点击搜索。

假设服务器随后返回可能的患者姓名列表,操作员有机会转到下一页,直到找到可能的患者。然后他们可以选择此人并查看更多详细信息。

在服务器端

我有一个包含大约 100,000 条记录的 XML 文件。文件中有五种不同类型的记录。 (这大约是 20,000 x 5 = 100,000)。

我有一个 java 类来获取 xml 文件并创建一个 DOM 来遍历文件中找到的数据元素。

-- XML 文件开始

100k - XML file outline

<hospital>
<infant key="infant/0002DC15" diagtype="general entry" mdate="2015-02-18">
<patient>James Holt</patient>
<physician>Michael Cheng</physician>
<physician>David Long</physician>
<diagnosisCode>IDC9</diagnosisCode>
..
</infant>

<injury key="injury/0002IC15" diagtype="general entry" mdate="2015-03-14">
<patient>Sara Lee</patient>
<physician>Michael Cheng</physician>
<diagnosisCode>IEC9</diagnosisCode>
..
</injury>

<terminal key="terminal/00X2IC15" diagtype="terminal entry" mdate="2015-05-14">
<patient>Jason Man</patient>
<physician>John Hoskin</physician>
<diagnosisCode>FEC9</diagnosisCode>
<diagnosisCode>FXC9</diagnosisCode>
..
</terminal>

<aged key= xxxx ... >
...
</aged>

<sickness key= xxxx ... >
...
</sickness>
</hospital>

大约 5 ( )x 20,000 = 100K 条记录。

密钥和患者是唯一的必填字段。其余元素是可选或多个元素。

-- XML 文件结束

这里是我需要帮助的地方

一旦我有了 DOM,我该如何让客户知道在 XML 文件中找到了什么?

我是否创建一个 MAP 来保存元素节点链接,然后一次将 50 个链接转发到 JSP,然后等待用户点击下一页时发送更多链接?

是否有一种自动显示链接的方式,或者通过 Java Script、Jquery、XSLT 或者我只是在 HTML 中创建一个表格并将患者链接放在行内?为了根据客户端使用的浏览器显示数据,我必须做一些渲染特定的事情吗?

非常感谢我能参考的任何指导、教程、示例或书籍。

谢谢。

【问题讨论】:

  • 可以发一段xml(几行)作为例子吗?
  • Hello lifeisfoo - 根据您的请求使用示例 XML 文件更新帖子。

标签: javascript jquery xml jsp dom


【解决方案1】:

我不知道在 jQuery 中匹配类型的自动方法,但您可以测试属性,例如验证对象中是否存在非可选属性:

// Non optional Infant attribute
if(obj.nonOptionalAttribute) {
    // handle Infant object
}

或者您可以添加一个属性来区分类型(例如在您的 Javascript 中测试的 String 或 int 属性)。

if(obj.type == 'infant') {
    // handle Infant object
}

【讨论】:

    【解决方案2】:

    @John.west,

    您可以尝试将 XML 绑定到对象列表(例如 Injure 实现 MyXmlNodeMapping,Terminal 实现 MyXmlNodeMapping,Infant 实现 MyXmlNodeMapping 并继续并拥有一个列表)以迭代和搜索后端的值,或者您可以将此 XML 文件传递​​给 Javascript(如果您使用 jQuery,则可以使用 get 或 post 将结果类型定义为 XML)并遍历对象以查找用户试图查找的内容...

    您的选择可能基于在服务器端或客户端使用处理器时间的偏好...

    【讨论】:

    • 感谢您的回复。xml 文件大小约为 2GB。服务器端将是现阶段的选项。关于 MyXmlNodeMapping x 5 Objects 解决方案。我是 jQuery/java 脚本领域的初学者。然后如何将对象传递给 jQuery 以在客户端显示每个可能匹配的页面? jQuery 中是否有嵌入式智能来自动执行此类操作,或者我是否需要手动设置如何使用每个 GET 消息在客户端网页上显示/呈现数据?是否有您可以提供的示例/代码或我可以使用的参考?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 2015-09-20
    • 1970-01-01
    相关资源
    最近更新 更多