2015-09-14 58 views
1

我需要一些幫助才能理解下一步該做什麼。如何在JSP客戶端頁面上顯示100K基於XML的DOM數據?

我需要編寫一個基於Web的搜索功能來查找來自XML文件的醫療記錄。 操作員可以在JSP網頁上輸入部分或全部患者姓名和Hit Search。

服務器假設然後返回可能的患者姓名列表,以便操作員有機會轉到下一頁,直到找到可能的患者。然後他們可以選擇該人並查看更多詳細信息。

在服務器端

我有一個約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()×20000 = 100K記錄。

鑰匙和病人是唯一的必填字段。其餘的元素是可選的或多個元素。

- XML文件結束

這裏就是我需要幫助

一旦我有DOM我怎麼前進中讓客戶知道什麼是在XML文件中發現了什麼?

我是否創建一個MAP來保存元素節點鏈接,然後一次向JSP發送50條鏈接,然後等待用戶點擊下一頁時發送更多鏈接?

是否有一種顯示鏈接的自動方式,可以通過Java腳本,Jquery,XSLT或者我只是在HTML中創建一個表格,並將患者鏈接放置在行內?根據客戶端使用的瀏覽器,爲了顯示數據,我需要執行哪些呈現特定的事情?

任何指導,教程,例子或書我可以參考將不勝感激。

謝謝。

+0

你能張貼一片xml(幾行)作爲例子嗎? – lifeisfoo

+0

Hello lifeisfoo - 根據您的要求更新樣本XML文件。 –

回答

0

我不知道一個自動的方式來匹配jQuery的類型,但你可以測試的屬性,像驗證是否在對象非可選屬性存在:

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

,或者您可能添加一個屬性來區分類型(類似於要在Javascript中測試的String或者int屬性)。

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

@ John.west,

你可以嘗試將XML綁定到對象的列表(類似傷害實現MyXmlNodeMapping,終端實現MyXmlNodeMapping,嬰幼兒實行MyXmlNodeMapping去,並且有一個列表)迭代和按照後端的值進行搜索,或者您可以將此XML文件傳遞給Javascript(如果您使用的是jQuery,則可以使用get或post來定義結果類型爲XML)並遍歷對象以查找用戶試圖找到...

您的選擇可能基於在服務器端或客戶端使用處理器時間的偏好...

+0

感謝您的迴應.xml文件大小約爲2GB。服務器端將是在這個階段的選擇。關於MyXmlNodeMapping x 5對象解決方案。 我是jQuery/java腳本競技場的初學者。 然後,我如何將對象傳遞給jQuery來顯示客戶端可能匹配的每一頁? 在jQuery中是否有嵌入式智能自動執行此類事情,還是我需要手動設置如何在每個GET消息上顯示/呈現客戶端網頁上的數據? 有沒有可以提供的示例/代碼或我可以使用的參考? –

相關問題