非常感谢孙浩老师。
XPath方式读取xml
/**
* @Title: test06
* @Description: 用XPath方式读取xml。得到foodId='food_002'的name元素的值。
* @param
* @return void
* @throws
*/
@Test
public void test06() {
InputStream is = null;
try {
is = TestStax.class.getClassLoader().getResourceAsStream(
"menus.xml");
// 创建文档处理对象
DocumentBuilder db = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
// 通过DocumentBuilder创建doc的文档对象
Document doc = db.parse(is);
// 创建XPath
XPath xpath = XPathFactory.newInstance().newXPath();
// 第一个参数就是xpath,第二参数就是文档
NodeList list = (NodeList) xpath.evaluate(
"//food[@foodId='food_002']", doc, XPathConstants.NODESET);
for (int i = 0; i < list.getLength(); i++) {
// 遍历输出相应的结果
Element e = (E