SAXReader的使用
下午写的东西,还在慢慢学习中。(因为是JAVA菜鸟,代码写的很差,见谅,学习中)
1.已有的xml文件 File.xml
<?xml version="1.0" encoding="UTF-8"?>
<p:mapping xmlns:p="http://www.easyweb.com/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<table name="file">
<field name="name" type="java.lang.String" length="20" isPrimaryKey="true"/>
<field name="price" type="java.lang.Float" length="10" scale="2"/>
<field name="date" type="java.util.Date"/>
</table>
</p:mapping>
简单的一个小xml文件
2.工具类Table和Field
public class Table {
private String tableName;
private Map<String, Field> fieldsMap = new HashMap<String, Field>();
//get set 省略。。。。
}
public class Field {
private String name;
private String type;
private boolean isPrimaryKey;
private int length;
private int scale;
//get set方法省略。。。
}
3.用SAXReader解析xml文件的一个方法,getTables()
public List<Table> getTables(String fileURL) {
List<Table> tables = new ArrayList<Table>();
SAXReader reader = new SAXReader();
try {
InputStream inputStream = this.getClass().getResourceAsStream("File.xml");//查找具有给定名称的资源
Document document = reader.read(inputStream);
Element root = document.getRootElement();//获取根元素
for (Iterator<Element> iterator = root.elementIterator("table"); iterator
.hasNext();) {
Table table = new Table();
Element tableElement = iterator.next();//迭代xml文件中“table”元素
table.setTableName(tableElement.attributeValue("name"));//设置属性参数
Map<String, Field> fields = table.getFieldsMap();
for (Iterator<Element> fitrator = tableElement
.elementIterator("field"); fitrator.hasNext();) {
Field field = new Field();
Element fieldElement = fitrator.next();//迭代xml文件中“field”元素
field.setName(fieldElement.attributeValue("name"));
field.setType(fieldElement.attributeValue("type"));//设置属性参数
try {
field.setLength(Integer.parseInt(fieldElement
.attributeValue("length")));
field.setScale(Integer.parseInt(fieldElement
.attributeValue("scale")));
} catch (Exception e) {
}
field.setPrimriKey(Boolean.parseBoolean(fieldElement
.attributeValue("isPrimaryKey")));
fields.put(field.getName(), field);
}
tables.add(table);
}
return tables;
} catch (Exception e) {
throw new Exception(e);
}
}
其他代码略。
这就是一个简单的已有xml文件,用SAXReader解析的例子。高手请指教。
分享到:
- 2008-11-11 19:38
- 浏览 995
- 评论(5)
- 论坛回复 / 浏览 (5 / 5892)
- 查看更多
相关推荐
《PyPI官网下载:git-review-1.28.0.0a1.tar.gz详解》 在Python的世界中,PyPI(Python Package Index)是官方的软件仓库,它提供了丰富的Python包供开发者下载和使用。本文将深入探讨PyPI官网下载的资源——`git-...
Review-Helpfulness-Prediction, 自动检测检查helpfulness项目 使用 评估Helpfulness预测介绍:自动查找有用评论的项目。利用文本挖掘技术实现自然语言处理。情感分析和机器学习技术。语言:python 。( 标准库:xlrd...
《PyPI官网下载:探索cfn-review-bot-1!20190506.234736.tar.gz中的Python库》 在Python的开发世界中,PyPI(Python Package Index)是一个至关重要的资源库,它为全球开发者提供了海量的Python库和模块,方便他们...
期末复习(预习)笔记_review-data
轻量级3D 模型查看器
PEER REVIEW- CCM Shared Responsibility Mapping.xlsxPEER REVIEW- CCM Shared Responsibility Mapping.xlsxPEER REVIEW- CCM Shared Responsibility Mapping.xlsxPEER REVIEW- CCM Shared Responsibility Mapping....
标题中的"PyPI 官网下载 | review-695.tar.gz"表明这是一个从Python Package Index(PyPI)官方源下载的压缩包,名为"review-695.tar.gz"。PyPI是Python社区用于发布和分发Python软件包的主要平台。这个文件很可能...
在处理复杂的、多层结构的XML时,DOM4J是一个强大的Java库,它提供了丰富的API来帮助我们解析和操作XML文档。本教程将深入探讨如何使用DOM4J解析多层次的XML,并将其数据保存到实体类中。 首先,了解DOM4J的基本...
通过分析“javascript-review-源码.zip”中的示例,开发者可以巩固这些知识,提升对JavaScript的理解,同时学习到实际项目中可能遇到的各种应用场景和最佳实践。这是一份宝贵的资源,有助于开发者在JavaScript世界中...
资源分类:Python库 所属语言:Python 资源全名:git-review-1.21.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Review-All.nwc
标题中的"PyPI 官网下载 | review-r588.zip"表明这是一份从Python Package Index(PyPI)官方网站获取的压缩包,名为"review-r588.zip"。PyPI是Python开发者发布和分享自己编写的软件包的平台,用户可以通过它来安装...
windows平台fbx查看器
review-UI-电子屏产品.sketch
HR-Compliance-Review-ReportPPT教案.pptx
NJU-Review-Materials南大课程复习资料
TP-Link Deco BE85 Review- Wi-Fi 7 is Game Changing.docx
Autodesk FBX Review 1.2.3.0 Win64 是一款专为Windows 64位操作系统设计的工具,用于浏览和查看FBX格式的3D模型文件。FBX,全称为Filmbox,是由Autodesk公司开发的一种跨平台的三维数据交换格式,广泛应用于3D建模...
新目标七年级上册英语review-unit9复习课件PPT学习教案.pptx
开源项目-salemove-github-review-helper.zip,使用fixup提交和go编写的有用bot改进github评论