Which XML parser should I used for my requirement

I have a requirement

1) To decrypt the PGP encrypted XML file in memory,
2) and search for all the occurrences of  'card_number' element
3) encrypt them using other encryption API and replace the clear text value of 'card_number' element value
4) There after encrypt the whole XML file
5) and finally store that xml file on disk

During each execution of my Java program, I may have about 1 to 4 XML files to be processed for above requirement. Each file can have about 600 to 1000 'card_number' elements. Each decrypted file (if stored on disk can be  100 to 200 KB). But I will not have to let store on disk, keep in memory and process.

I have been looking into couple options:

1)  JDOM parser
2) DOM4J
3) or don't use any external jars/libraries but use core JDK API  like
https://docs.oracle.com/javase/8/docs/api/index.html?javax/xml/parsers/DocumentBuilder.html

I have been reading different options at http://www.tutorialspoint.com/java_xml/java_dom4j_parser.htm, and not able to decide which parser is suitable for my requirement.
MehtaJasminAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

gurpsbassiCommented:
Either of 1,2,3 would work.
0
MehtaJasminAuthor Commented:
I know either of them work, the reason I explained in great detail what my requirement is to select the best suitable out of 3.

So I am looking for that answer.
0
gurpsbassiCommented:
U want 'the best'?

Why don't you go on the wiki page for each of those projects and see some examples of how to use each one and judge it from there?
0
Become a CompTIA Certified Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

CEHJCommented:
Security best practice would actually dictate that the most sensitive tokens be hashed (one-way encryption), where possible, such that nobody could know their plaintext values.
0
MehtaJasminAuthor Commented:
CEHJ,

Can you please reply in context of XML parser?  I am good with my all encryption/decryption process. My focus is to select the best suitable XML parser for my need.

Thanks
0
CEHJCommented:
XMLReader in the JDK would be fine
0
MehtaJasminAuthor Commented:
Thanks for suggesting XMLReader. I am having hard time to search for any simple example of XMLReader usage to edit the xml element. Any good example showing, step by step how to manipulate the xml file using this API would be appreciated.
0
CEHJCommented:
Actually, on second thoughts, if memory is not a problem, it might be easier with a DOM approach. JDOM would allow you to select the elements you need to change
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
gurpsbassiCommented:
how about doing what a software developer would do, try some quick examples with the three technologies mentioned. Pick one you prefer working with.
0
MehtaJasminAuthor Commented:
I used DOM Parser API (inbuilt in JDK) and it worked great. Thanks a lot.
0
CEHJCommented:
:)
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.