交作业交作业交作业
来源:3-9 自由编程
mixiaofan
2019-11-06 14:22:58
<?xml version="1.0" encoding="utf-8"?> <teaching-plan> <course id="001"> <course-name>大学英语</course-name> <course-hour>36</course-hour> <exam-form>考试</exam-form> </course> <course id="002"> <course-name>高等数学</course-name> <course-hour>70</course-hour> <exam-form>考试</exam-form> </course> <course id="003"> <course-name>计算机应用基础</course-name> <course-hour>108</course-hour> <exam-form>上机考试</exam-form> </course> <course id="004"> <course-name>体育课</course-name> <course-hour>52</course-hour> <exam-form>考试</exam-form> </course> </teaching-plan>
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import java.util.List;
public class XpathTester {
public void xpath(String xpExp) {
String file = "C:/My Work Material/idea/xml-work/src/plan.xml";
SAXReader reader = new SAXReader();
try {
Document doc = reader.read(file);
List<Node> nodes = doc.selectNodes(xpExp);
for (Node node : nodes) {
Element emp = (Element) node;
System.out.println(emp.attributeValue("id"));
System.out.println(emp.elementText("course-name"));
System.out.println(emp.elementText("course-hour"));
System.out.println(emp.elementText("exam-form"));
System.out.println("= = = = = = = = = = = = = = = =");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
XpathTester xt = new XpathTester();
xt.xpath("//course");
xt.xpath("//course[course-hour<50]");
xt.xpath("//course[course-name='高等数学']");
xt.xpath("//course[@id='001']");
xt.xpath("//course[1] | //course[2]");
}
}1回答
同学你好,这里运行同学的代码,运行效果没有问题,但是最后查询前两条的课程信息可以这样写,更加简洁呐,例如:
//5.查询前两条课程信息
xt.xpath("//course[position()<3]");如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~