У меня есть XML-файл со многими копиями структуры узла таблицы, как показано ниже:
<databasetable TblID=”123” TblName=”Department1_mailbox”>
<SelectColumns>
<Slno>dept1_slno</Slno>
<To>dept1_to</To>
<From>dept1_from</From>
<Subject>dept1_sub</Subject>
<Body>dept1_body</Body>
<BCC>dept1_BCC</BCC>
<CC>dept1_CC</CC>
</SelectColumns>
<WhereCondition>MailSentStatus=’New’</WhereCondition>
<UpdateSuccess>
<MailSentStatus>’Yes’</MailSentStatus>
<MailSentFailedReason>’Mail Sent Successfully’</MailSentFailedReason>
</UpdateSuccess>
<UpdateFailure>
<MailSentStatus>’No’</MailSentStatus>
<MailSentFailedReason>’Mail Sending Failed ’</MailSentFailedReason>
</ UpdateFailure>
</databasetable>
Поскольку неэффективный способ обходить файл каждый раз, чтобы получить сведения о каждом узле дляЗапросы в программе, я использовал концепцию вложенного хэш-карты для хранения деталей при первом обходе XML-файла.Я использовал следующую структуру:
MapMaster
Key Value
123 MapDetails
Key Value
TblName Department1_mailbox
SelectColumns mapSelect
Key Value
Slno dept1_slno
To dept1_to
From dept1_from
Subject dept1_sub
Body dept1_body
BCC dept1_BCC
CC dept1_CC
WhereCondition MailSentStatus=’New’
UpdateSuccess mapUS
MailSentStatus ’Yes’
MailSentFailedReason ’Mail Sent Successfully’
UpdateFailure mapUF
MailSentStatus ’No’
MailSentFailedReason ’Mail Sending Failed’
Но проблема, с которой я сейчас сталкиваюсь, связана с извлечением части Value с использованием вложенных ключей.Например,
Если мне нужно значение Slno Key, я должен указать TblID, SelectColumns, Slno во вложенной форме, например:
Stirng Slno = ((HashMap)((HashMap)mapMaster.get(“123”))mapDetails.get(“SelectColumns”))mapSelect.get(“Slno”);
Это неудобно для использования в программе.Пожалуйста, предложите решение, но не говорите, что итераторы доступны.Поскольку я должен получить индивидуальное значение с карты в соответствии с потребностями моей программы.
РЕДАКТИРОВАТЬ: моя программа должна получить идентификаторы отдела, для которого есть право отправлять письма, а затем эти идентификаторысравниваются с идентификаторами в файле XML.Только информация этих идентификаторов извлекается из XML, который в сравнении возвращает true.Это все моя программа.Пожалуйста, помогите.
Заранее спасибо, Вишу