Java のコンソール入力に基づいて検索したい XML ファイルがあります。入力が特定のタグ内で一致を検出した場合、対応する NodeList を出力する必要があります。検索しましたが、探しているものが見つかりませんでした。
XML ファイル:
<DATABASE>
<USER>
<ID>1</ID>
<FIRSTNAME>User</FIRSTNAME>
<LASTNAME>Name</LASTNAME>
<USERNAME>username</USERNAME>
<PASSWORD>password</PASSWORD>
</USER>
<USER>
<ID>2</ID>
<FIRSTNAME>John</FIRSTNAME>
<LASTNAME>Doe</LASTNAME>
<USERNAME>john.doe</USERNAME>
<PASSWORD>password</PASSWORD>
</USER>
</DATABASE>
ジャワ:
private void viewByUsername() throws ParserConfigurationException, IOException,
SAXException, TransformerConfigurationException{
Scanner scan = new Scanner(System.in);
System.out.println("Enter username to find: ");
String input = scan.nextLine();
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse("XMLData/UserDatabase.xml");
doc.getDocumentElement().normalize();
NodeList users = doc.getElementsByTagName("USER");
for (int temp = 0; temp < users.getLength(); temp++){
Node nNode = users.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
}
}