saxreader解析xml的方法,获取指定节点内容
时间: 2024-02-20 08:56:18 浏览: 74
好的,针对你的问题,我可以给出以下的示例代码来解析 XML 并获取指定节点的内容:
```java
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class XmlParser {
public static void main(String[] args) {
try {
File inputFile = new File("input.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("book"); // 获取所有名为 "book" 的节点
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
String title = eElement.getElementsByTagName("title").item(0).getTextContent(); // 获取名为 "title" 的节点的内容
System.out.println("Title: " + title);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们首先创建了一个 `DocumentBuilderFactory` 和一个 `DocumentBuilder` 对象,然后使用 `parse` 方法将 XML 文件解析为 `Document` 对象。接着,我们通过调用 `getElementsByTagName` 方法获取名为 "book" 的所有节点,然后遍历这些节点,对于每个节点,我们通过调用 `getElementsByTagName` 获取名为 "title" 的节点,再通过调用 `getTextContent` 方法获取该节点的内容。
当然,上面的代码只是一个简单的示例,实际应用中可能会涉及到更复杂的 XML 结构和更多的节点操作。
阅读全文