交作业交作业交作业

来源: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回答

好帮手慕小班

2019-11-06

同学你好,这里运行同学的代码,运行效果没有问题,但是最后查询前两条的课程信息可以这样写,更加简洁呐,例如:

 //5.查询前两条课程信息
xt.xpath("//course[position()<3]");

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0

0 学习 · 9666 问题

查看课程