Java读取xml,实现根据输入bookid,查找对应description并打印出来。
时间: 2023-12-26 17:03:55 浏览: 23
可以使用Java中的DOM解析器来读取XML文件并查找相应的节点信息。以下是一个简单的示例代码:
```java
import java.io.File;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class ReadXMLFile {
public static void main(String argv[]) {
try {
File fXmlFile = new File("books.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
String bookid = "bk102";
NodeList nList = doc.getElementsByTagName("book");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
if (eElement.getElementsByTagName("bookid").item(0).getTextContent().equals(bookid)) {
System.out.println("Description: " + eElement.getElementsByTagName("description").item(0).getTextContent());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们假设有一个名为"books.xml"的XML文件,它包含一些书籍的信息,每本书都有一个唯一的bookid和一个description。我们使用DOM解析器来解析XML文件,遍历所有的book节点,如果节点的bookid与输入的bookid相匹配,则打印出该节点的description。