xml描述表的字段
老师说要用xml描述表的字段名,我以为是这样的:
<DATA>
<ROW>
<Sno>1001</Sno>
<Sname>李勇</Sname>
<Ssex>1</Ssex>
</ROW>
<ROW>
<Sno>1002</Sno>
.......
</ROW>
</DATA>
实际上网上全是这样的,但这个叫用xml表示数据库内容,不是字段,字段应该是这样的:
Table: student
Columns:
学号 varchar(100) PK
姓名 varchar(100)
性别 int(11)
那这个是怎么搞呢?在描述之前你必须知道描述了用来干什么。
实际上,就像读文件一样,从里面读取罢了,只不过xml有独特的读取方式,比如JDOM,这个网上很多,我就不说了。
那么回到正题,这里把我的xml展示出来,帮助某高校广大莘莘学子,说来都是泪,呜呜呜~~
讲解:Sno是你自定义的名字,用来读文件时定位用的,“姓名”就是你保存的表名,是你读取到的东西,整个xml一般用来做数据集成。
<?xml version="1.0" encoding="UTF-8"?>
<student_1>
<table name="student">
<Sno>
<name>学号</name>
<type>varchar</type>
</Sno>
<Sname>
<name>姓名</name>
<type>varchar</type>
</Sname>
<Ssex>
<name>性别</name>
<type>int</type>
</Ssex>
</table>
</student_1>
JDOM简单使用
我在网上查找读取xml的方式,发现xml的标签名是读取不了的(可能不对,至少我没在jdom里面发现),环境是在JAVA里面用
//先给个示例xml
<student>
<table name="student">
<Sno>
<name>学号</name>
<type>int</type>
</Sno>
<Sname>
<name>姓名</name>
<type>varchar</type>
</Sname>
</table>
<table name="course">
<Cno>
<name>课程编号</name>
<type>varchar</type>
</Cno>
<Cname>
<name>课程名</name>
<type>varchar</type>
</Cname>
</table>
</student>
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new File("F:student.xml"));
Element ele = doc.getRootElement();
List<Element> list = ele.getChildren();
//前面的都是读取文件用的,头文件系统会提示的
Element element=(Element)list.get(0);
//这个get(0)就是根标签的第一个子标签,就是第一个table
String table=element.getAttributeValue("name");
//这个是获取table标签的name属性值,即table=student
Element element1=(Element)list.get(1);
//这个get(1)就是根标签的第二个子标签,就是第二个table
String table1=element1.getAttributeValue("name");
//即table=student
String para = element.getChild("Sno").getChildText("name");
//这个是在第一个table标签下获取子标签Sno,再获取子标签name的值,此时para="姓名"