老师,请问为什么xsd约束不管用了?
来源:3-4 自由编程
BirdMan98
2020-01-28 23:52:02
package com.zj.dom4j;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class PlanWriter {
public void writeXml() {
String file="D:/JavaDev/xml/src/plan.xml";
SAXReader saxReader = new SAXReader();
//读写操作
try {
Document document= saxReader.read(file);
Element root=document.getRootElement();
Element course=root.addElement("course");
course.addAttribute("no", "204");
course.addElement("course-name").setText("englis");
course.addElement("class-hour").setText("120");
course.addElement("exam-form").setText("机试");
//写入
Writer writer = new OutputStreamWriter(new FileOutputStream(file),"UTF-8");
document.write(writer);
writer.close();
//读取
List<Element> courses=root.elements("course");
for(Element c:courses) {
System.out.println(c.attribute("no").getText());
System.out.println(c.element("course-name").getText());
System.out.println(c.element("class-hour").getText());
System.out.println(c.element("exam-form").getText());
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
//main
public static void main(String[] args) {
PlanWriter planWriter = new PlanWriter();
planWriter.writeXml();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<teching-plan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="plan.xsd">
<course no="201">
<course-name>大学英语</course-name>
<class-hour>36</class-hour>
<exam-form>考试</exam-form>
</course>
<course no="202">
<course-name>高等数学</course-name>
<class-hour>120</class-hour>
<exam-form>考试</exam-form>
</course>
<course no="203">
<course-name>计算机应用基础</course-name>
<class-hour>100</class-hour>
<exam-form>上机考试</exam-form>
</course>
<course no="204">
<course-name>englis</course-name>
<class-hour>120</class-hour>
<exam-form>机试</exam-form>
</course>
</teching-plan>
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="teching-plan">
<complexType>
<sequence>
<element name="course" 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="100"></maxInclusive>
</restriction>
</simpleType>
</element>
<element name="exam-form" type="string"></element>
</sequence>
<attribute name="no" type="string" use="required"></attribute>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>
1回答
同学你好!
老师使用你的代码,写入后约束是生效的

建议你clean一下项目测试一下。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题