老师,我的问题在哪里?

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

同学你好,你的代码测试是没有问题的。

添加输出语句,运行结果如下图:

http://img.mukewang.com/climg/5ea78e810993d63b11370698.jpg

 同学控制台有没有报错呢。如果问题没有解决,请贴一下代码运行图。祝学习愉快! 

0

好帮手慕阿慧

2020-04-27

同学你好,你的代码运行没有问题。同学将结果输出到一起了。同学可以单独输出看一看结果,或者在调用xpath方法后添加输出语句。

如果不是这个问题,请同学详细描述一下。

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

0
hava小白5421
h 单独输出结果也都是空白
h020-04-27
共2条回复

0 学习 · 9666 问题

查看课程