老师,我的问题在哪里?
来源:3-9 自由编程
Java小白5421
2020-04-26 23:43:58
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE teaching-plan SYSTEM "plan.dtd"> <teaching-plan> <course id="001"> <course-name>大学英语</course-name> <class-hour>36</class-hour> <exam-form>考试</exam-form> </course> <course id="002"> <course-name>高等数学</course-name> <class-hour>70</class-hour> <exam-form>考试</exam-form> </course> <course id="003"> <course-name>计算机应用基础</course-name> <class-hour>108</class-hour> <exam-form>上机考试</exam-form> </course> <course id="004"> <course-name>JAVA</course-name> <class-hour>54</class-hour> <exam-form>考察</exam-form> </course> </teaching-plan>
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <element name="teaching-plan"> <complexType> <sequence> <element name="course" minOccurs="1" maxOccurs="100"> <complexType> <sequence> <element name="course-name" type="string"></element> <element name="class-hour"> <simpleType> <restriction base="integer"> <minInclusive value="20"></minInclusive> <maxInclusive value="110"></maxInclusive> </restriction> </simpleType> </element> <element name="exam-form" type="string"></element> </sequence> <attribute name="id" type="string" use="required"></attribute> </complexType> </element> </sequence> </complexType> </element> </schema>
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT teaching-plan (course+)> <!ELEMENT course (course-name,class-hour,exam-form)> <!ATTLIST course id CDATA ""> <!ELEMENT course-name (#PCDATA)> <!ELEMENT class-hour (#PCDATA)> <!ELEMENT exam-form (#PCDATA)>
<?xml version="1.0" encoding="UTF-8"?> <teaching-plan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="plan.xsd"> <course id="001"> <course-name>大学英语</course-name> <class-hour>36</class-hour> <exam-form>考试</exam-form> </course> <course id="002"> <course-name>高等数学</course-name> <class-hour>70</class-hour> <exam-form>考试</exam-form> </course> <course id="003"> <course-name>计算机应用基础</course-name> <class-hour>108</class-hour> <exam-form>上机考试</exam-form> </course> </teaching-plan>
package com.imooc.dom4j;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
public class XPathTestor {
public void xpath(String xpathExp) {
String file="f:/eclipse-workspace/xml/src/hr.xml";
SAXReader reader=new SAXReader();
try {
Document document=reader.read(file);
List<Node> nodes=document.selectNodes(xpathExp);
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("class-hour"));
System.out.println(emp.elementText("exam-form"));
System.out.println("===========================");
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
XPathTestor testor=new XPathTestor();
testor.xpath("//course");
testor.xpath("//course[class-hour<50]");
}
}2回答
好帮手慕阿慧
2020-04-28
同学你好,你的代码测试是没有问题的。
添加输出语句,运行结果如下图:

同学控制台有没有报错呢。如果问题没有解决,请贴一下代码运行图。祝学习愉快!
好帮手慕阿慧
2020-04-27
同学你好,你的代码运行没有问题。同学将结果输出到一起了。同学可以单独输出看一看结果,或者在调用xpath方法后添加输出语句。
如果不是这个问题,请同学详细描述一下。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题