老师,请问为什么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回答

好帮手慕柯南

2020-01-31

同学你好!

老师使用你的代码,写入后约束是生效的

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

建议你clean一下项目测试一下。

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

0

0 学习 · 9666 问题

查看课程