原生java读取存储为xml格式的数据,并存储到java bean里
一、举例读取的文件为:test.xml
<?xml version="1.0" encoding="UTF-8"?> <IMIXML>
<SecDef Desc="国债" CentraQuoteBondIndic="Y">
<Instrmt ID="CFT" Sym="现券买卖"/>
</SecDef>
<SecDef Desc="债券" CentraQuoteBondIndic="X">
<Instrmt ID="CCC" Sym="是否"/>
</SecDef>
</IMIXML>
二 项目结构:

三 代码:
package parseXml; import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.helpers.DefaultHandler; import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.util.HashMap; public class Test extends DefaultHandler {
public static SAXParserFactory parserFactory;
public static SAXParser parser;
public static HashMap<String, SecDef> map = new HashMap<String, SecDef>();
String xBondTransactableBondInformation_Id; // 债券代码
SecDef secdef;
Instrmt instrmt; @Override
public void startDocument() { } // 读取XML的<后开始执行
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) {
if ("SecDef".equals(qName)) {
secdef = new SecDef();
instrmt = new Instrmt();
secdef.setCentraQuoteBondIndic(attributes
.getValue("CentraQuoteBondIndic"));
secdef.setDesc(attributes.getValue("Desc"));
secdef.setInstrmt(instrmt);
}
if ("Instrmt".equals(qName)) {
xBondTransactableBondInformation_Id = attributes.getValue("ID");
instrmt.setId(attributes.getValue("ID"));
instrmt.setSym(attributes.getValue("Sym"));
} } @Override
public void characters(char[] ch, int start, int length) {
} // 读取XML的</后开始执行
@Override
public void endElement(String uri, String localName, String qName) {
map.put(
xBondTransactableBondInformation_Id, secdef);
} @Override
public void endDocument() { } /**
* 解析方法
*
* @return map
*/
public static HashMap<String, SecDef> loadXML(String filePath) {
try {
parserFactory = SAXParserFactory.newInstance();
parser = parserFactory.newSAXParser();
Test reader = new Test();
parser.parse(new InputSource(filePath), reader);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return map;
} public static HashMap<String, SecDef> resultMap; public static void main(String[] args) {
resultMap = loadXML("src/input/xml/test.xml"); for (String key : resultMap.keySet()) {
System.out.print("key=" + key + "\t");
System.out.println("value="
+ resultMap.get(key));
}
} }
Test.java
package parseXml;
public class SecDef {
private String desc;//
private String CentraQuoteBondIndic;
private Instrmt instrmt;
public SecDef() {
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getCentraQuoteBondIndic() {
return CentraQuoteBondIndic;
}
public void setCentraQuoteBondIndic(String centraQuoteBondIndic) {
CentraQuoteBondIndic = centraQuoteBondIndic;
}
public Instrmt getInstrmt() {
return instrmt;
}
public void setInstrmt(Instrmt instrmt) {
this.instrmt = instrmt;
}
@Override
public String toString() {
return "SecDef{" +
"desc='" + desc + '\'' +
", CentraQuoteBondIndic='" + CentraQuoteBondIndic + '\'' +
", instrmt=" + instrmt +
'}';
}
}
SecDef.java
package parseXml;
public class Instrmt {
private String id;
private String sym;
public Instrmt() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSym() {
return sym;
}
public void setSym(String sym) {
this.sym = sym;
}
@Override
public String toString() {
return "Instrmt{" +
"id='" + id + '\'' +
", sym='" + sym + '\'' +
'}';
}
}
Instrmt.java
四 结果:

原生java读取存储为xml格式的数据,并存储到java bean里的更多相关文章
- 关于java后台如何接收xml格式的数据
业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户. 请求格式: <request> <head> <sign></sig ...
- 用Ajax去读取服务器端的XML格式的数据
<html> <head></head> <script type="text/javascript"> /*---定义一个全局变量 ...
- Java读取CSV和XML文件方法
游戏开发中,读取策划给的配置表是必不可少的,我在之前公司,策划给的是xml表来读取,现在公司策划给的是CSV表来读取,其实大同小异,也并不是什么难点,我就简单分享下Java如何读取XML文件和CSV文 ...
- C#操作数据表中XML格式的数据
以前还真没有见过数据表中存储XML格式的数据,刚开始听说的时候,还以为是数据表中有XML的字段类型, 再了解,其实也就是字符串类型的,只不过字符串的格式是XML格式的.确实孤陋寡闻!汗... (可添加 ...
- xml格式的数据转化成数组
将得到的xml格式的数据转化成数组 <?php //构造xml $url = "http://api.map.baidu.com/telematics/v3/weather?locat ...
- 如何在JSP页面里面显示xml格式的数据
正常情况下,在jsp页面里的标签里写xml格式的数据,在浏览器里面的页面里显示出来的是乱码. 为什么会显示乱码呢?原来xml标签在jsp里会被解析为浏览器对象,因为xml最开始被设计出来是 为了写网页 ...
- scrapy 解析xml格式的数据
XMLFeedSpider 主要用于 解析 xml格式的数据 创建一个scrapy 项目文件 scrapy startproject xxx 创建一个spider scrapy genspider - ...
- JAVA 读取xml格式的数据
<?xml version="1.0" encoding="UTF-8"?> <column-enums> <type name= ...
- Java读取、创建xml(通过dom方式)
创建一个接口 XmlInterface.java public interface XmlInterface { /** * 建立XML文档 * @ ...
随机推荐
- css中背景的应用
浏览器默认的字体大小是 font-size:16px; 谷歌最小的是10px 其他浏览器是12px 通配符选择器 * “*”的意思是代表所有的标签 回到正题 background 背景 他的几 ...
- maven release版本不自动更新的原因
如果是release版本,首先从本地查找对应的版本,如果有,则使用本地,否则从远程服务器下载. 这也就是为什么我们有时想要去更新release版本的jar包,会发现无法更新,除非删除本地仓库中的版本. ...
- maven的包冲突
maven的间接引用会引入其他未声明的包,maven自身的冲突解决方案,最终引用的包可能不是希望的版本. 直接声明期望的版本号,就没有间接引用的问题. 子模块很多时,可以使用dependencyMan ...
- [UE4]模拟物理子弹
模拟物理子弹有时候会穿透对象,所以不建议使用
- Android:防止过快点击造成多次事件 问题
自定义一个NoDoubleClickListener,继承自OnClickListener: public abstract class NoDoubleClickListener implement ...
- arcgis for android 读取shp文件中文乱码解决方法
设置注册表默认字符,即可解决中文乱码问题. 'dbfDefault' 设置方法1.开始--运行,输入”Regedit“,打开注册表.2.如是用的是 10.x 版本 ArcGIS Desktop,定位到 ...
- axublogcms1.0.6|代码审计
这周的审计任务,两天前的任务呀~拖延症呀~ 这次审计一个博客----auxblogcms1.0.6,网上也有所记载,我下面会做个总结. axublog是一款php个人博客系统,小巧强大的PHP+MyS ...
- Sharing Configuration in ASP.NET Core SPA Scenarios
https://blogs.msdn.microsoft.com/webdev/2017/10/27/sharing-configuration-in-asp-net-core-spa-scenari ...
- Mysql之 配置文件读取顺序
On Unix, Linux and Mac OS X, MySQL programs read startup options from the following files, in the sp ...
- Anaconda的基本使用