[英]How do i search through an XML file in Java, and then output the XML files names?
[英]How do I search for a keyword in a XML file using Java?
我想使用 Java 在 XML 文件中搜索單詞“Smith”並在控制台中打印“Smith, Mike”
<?xml version = "1.0"?>
<class>
<student rollno = "1">
<firstname>Doe</firstname>
<lastname>Jane</lastname>
</student>
<student rollno = "2">
<firstname>Smith</firstname>
<lastname>Mike</lastname>
</student>
<student rollno = "3">
<firstname>Fonda</firstname>
<lastname>Jane</lastname>
</student>
</class>
我在網上找到了查詢整個 XML 文件的資源,但很難找到在標簽內搜索的方法。
嘗試以下解決方案。 在此示例中,使用 DOM 解析器解析 XML 文件。
String firstName = "";
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the first name: ");
firstName = scanner.nextLine();
try {
File inputFile = new File("input.xml");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(inputFile);
document.getDocumentElement().normalize();
NodeList nodeList = document.getElementsByTagName("student");
for (int i = 0; i < nodeList.getLength(); i++) {
Element element = (Element) nodeList.item(i);
if(element.getElementsByTagName("firstname").item(0).getTextContent().equals(firstName)){
System.out.println("Full Name : "+element.getElementsByTagName("firstname").item(0).getTextContent()+" "+
element.getElementsByTagName("lastname").item(0).getTextContent());
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
控制台 output,
Enter the first name: Smith
Full Name : Smith Mike // when enter the first name as "Smith"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.