java读取XML文件内容的方法
2017-12-08 16:12
671 查看
xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<DigitalEnvelope>
<Channel id="BANK" privatekey="A1JTQe4Q94krAfR1POTxYec1Kz4S7qTc4V5ToxC2ENaKczp8nNxGWul0V0cOiltBDVNOpV8ET8qhzSvStNd6ICJKwMKiVM/XnE1Gk6Jkyd7xlkAzbANCeYH7PRz/n4NCaW6ZcHXPwyGEJyzLbrF/pm9Rh50P5R7QmlgiPW/yE3PamKBRndyH42vBOg4ZdjAyHZz94JpNo9HEgz5Xp+SnaNns1rcL3QkDHV1CudazOldywpsi7+9mxyUZLMUOBcsIBrDuonGXLtQZiUhXlMQGp0qz67mcb7alas1TDL7a3c5XgHwI9jkGkHXrv8MCPxyJ/zjljqrIlVrB7gdJ0+5BheCIQTmQjP+UMxR/DfKl3bQKQ7Ihi7YCIWjwhfapVcFWfh4u5h3a3nXHrBfL7vSyaYizg/JbKvT9A5VbkdvDgYz6J7uqoR1SHjZnJLSsTAheqW63owvZ6Tb0IUtzm1Pd7zrQ5slFTuVB/46XXgCITdqOgCeepkRj2brhRZ1h8xrgc1MIVzh/GKhLCJ3m9T2W5eau4txbKWmw3yCaCmNeZaMrNrBPeXMsLA5uoRrusLUBh9Zmm2Z7QQrfq4VxU6Xz317xyl6fadA5jEz8HSJSOGiL3RALBM+I9HQYKlDVV+Y5xVL/4Cs1TsVKoiUW0Niu6ZpSgdL7PufMb8YFtH+qksxygK5ZQoCCo3bXJVRzQtsaZCOxW+d6vU2qmdMJx/OQjBaA6Q6qWcYfMGD1dCVg/VQOouRorz63ZUD6Ui+/U+M/apC5LOvWAKn2pCzcWPSQJnsw5MWy4t1q5SYO+aLWpt6yEWV9Ke8YF5G7WNYyi3ypsptDQRCGNfFcwThK6QTorWpybL5hktXlhWIgfMJ+lgNXm0S5mSNh+LdLB/3j4EdxYOTJWpry4eQRKnhsM2ciOv/fZ5klnUopeq+eMV0poHQzimN8k2gdbpZO7GMCH8xucIMcWqYDqIZH4fSyPxbekIAgHupq0+/cRnUYx1MM6PlhevlY0CfLzaMP0N9LAAG9pJK42VRpJtOV5zhVpeMzr7zy2qWgSGRY3O2xGufPCRGB4HM44XkJl5kcDD6l4mSCFPysGbFy9kykmaQ1G3IFPmVvT0xESyeu55ZYHDktWH7FhHD4ly8zm2hFDZ97sUuKD0UichzYu3j/S+iELeQ62rnBvn0gyYwBEv8Fw6IspSBS5CdMV/U9KEnFoWN30ZOT7MCIdgAKJ+ydKppxIk45EfVFxM5f5tyaQLobOpz6yEr1xLhErky0Md3jvPFeSnqwlbdBwX4zHmiN/c3OFYWQn1uj4XtKX6XokAHEjILX0ZvK/HLhDDfCW83cPShYf33KEqNkp6OvRg+2T783l77pGcsGLmS2JInD3DA7ujdM+OnxkxUcpbfExm8wXLYhaXQsRht2ALD5wO4BiMxr/RqEHW1P5RY3J17tVmmk7S7dlwYolHqpZ8Gq1IJ7G2UKw98ffDyMS14SG33V+ZE1mzYHGMo4InT+5RpzUKYy2Sb9vyFtGWznfk5CVVSeN1ObSo6Q5zippULXD+yd+XbJdc8D56P4DY6BoOoqY0HUkjGdkgqQF2MO9z+KN3Cz7McuPCkM1A7oxl4cWRhHVIPJU8rzK/jvDNM8nTnjySUfEG8XoGJv1tuhdpaT0xG8="
pwd="12342231"></Channel>
</DigitalEnvelope>
实体类:
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="DigitalEnvelope")
@XmlAccessorType(XmlAccessType.FIELD)
public class DigitalEnvelopeDefinition {
@XmlElement(name="Channel")
private List<ChannelDefinition> channels;
public List<ChannelDefinition> getChannels() {
return channels;
}
public void setChannels(List<ChannelDefinition> channels) {
this.channels = channels;
}
}
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="Channel")
@XmlAccessorType(XmlAccessType.FIELD)
public class ChannelDefinition {
@XmlAttribute(name="id")
private String id;
@XmlAttribute(name="privatekey")
private String privatekey;
@XmlAttribute(name="pwd")
private String pwd;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPrivatekey() {
return privatekey;
}
public void setPrivatekey(String privatekey) {
this.privatekey = privatekey;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getPwd() {
return pwd;
}
}
测试类:
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
public class readXML {
public static void main(String[] args) throws Exception {
URL url=DigitalEnvelopeDefinition.class.getClassLoader().getResource("DigitalEnvelopeCfg.xml");
if(url == null) {
throw new IOException("文件--未找到");
}
URLConnection conn;
try {
conn = url.openConnection();
File file = new File(conn.getURL().toURI());
JAXBContext context = JAXBContext.newInstance(DigitalEnvelopeDefinition.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
DigitalEnvelopeDefinition unmarshal = (DigitalEnvelopeDefinition) unmarshaller.unmarshal(file);
for(int i=0; i<unmarshal.getChannels().size();i++){
System.out.println(unmarshal.getChannels().get(i).getId());
System.out.println(unmarshal.getChannels().get(i).getPrivatekey());
System.out.println(unmarshal.getChannels().get(i).getPwd());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<DigitalEnvelope>
<Channel id="BANK" privatekey="A1JTQe4Q94krAfR1POTxYec1Kz4S7qTc4V5ToxC2ENaKczp8nNxGWul0V0cOiltBDVNOpV8ET8qhzSvStNd6ICJKwMKiVM/XnE1Gk6Jkyd7xlkAzbANCeYH7PRz/n4NCaW6ZcHXPwyGEJyzLbrF/pm9Rh50P5R7QmlgiPW/yE3PamKBRndyH42vBOg4ZdjAyHZz94JpNo9HEgz5Xp+SnaNns1rcL3QkDHV1CudazOldywpsi7+9mxyUZLMUOBcsIBrDuonGXLtQZiUhXlMQGp0qz67mcb7alas1TDL7a3c5XgHwI9jkGkHXrv8MCPxyJ/zjljqrIlVrB7gdJ0+5BheCIQTmQjP+UMxR/DfKl3bQKQ7Ihi7YCIWjwhfapVcFWfh4u5h3a3nXHrBfL7vSyaYizg/JbKvT9A5VbkdvDgYz6J7uqoR1SHjZnJLSsTAheqW63owvZ6Tb0IUtzm1Pd7zrQ5slFTuVB/46XXgCITdqOgCeepkRj2brhRZ1h8xrgc1MIVzh/GKhLCJ3m9T2W5eau4txbKWmw3yCaCmNeZaMrNrBPeXMsLA5uoRrusLUBh9Zmm2Z7QQrfq4VxU6Xz317xyl6fadA5jEz8HSJSOGiL3RALBM+I9HQYKlDVV+Y5xVL/4Cs1TsVKoiUW0Niu6ZpSgdL7PufMb8YFtH+qksxygK5ZQoCCo3bXJVRzQtsaZCOxW+d6vU2qmdMJx/OQjBaA6Q6qWcYfMGD1dCVg/VQOouRorz63ZUD6Ui+/U+M/apC5LOvWAKn2pCzcWPSQJnsw5MWy4t1q5SYO+aLWpt6yEWV9Ke8YF5G7WNYyi3ypsptDQRCGNfFcwThK6QTorWpybL5hktXlhWIgfMJ+lgNXm0S5mSNh+LdLB/3j4EdxYOTJWpry4eQRKnhsM2ciOv/fZ5klnUopeq+eMV0poHQzimN8k2gdbpZO7GMCH8xucIMcWqYDqIZH4fSyPxbekIAgHupq0+/cRnUYx1MM6PlhevlY0CfLzaMP0N9LAAG9pJK42VRpJtOV5zhVpeMzr7zy2qWgSGRY3O2xGufPCRGB4HM44XkJl5kcDD6l4mSCFPysGbFy9kykmaQ1G3IFPmVvT0xESyeu55ZYHDktWH7FhHD4ly8zm2hFDZ97sUuKD0UichzYu3j/S+iELeQ62rnBvn0gyYwBEv8Fw6IspSBS5CdMV/U9KEnFoWN30ZOT7MCIdgAKJ+ydKppxIk45EfVFxM5f5tyaQLobOpz6yEr1xLhErky0Md3jvPFeSnqwlbdBwX4zHmiN/c3OFYWQn1uj4XtKX6XokAHEjILX0ZvK/HLhDDfCW83cPShYf33KEqNkp6OvRg+2T783l77pGcsGLmS2JInD3DA7ujdM+OnxkxUcpbfExm8wXLYhaXQsRht2ALD5wO4BiMxr/RqEHW1P5RY3J17tVmmk7S7dlwYolHqpZ8Gq1IJ7G2UKw98ffDyMS14SG33V+ZE1mzYHGMo4InT+5RpzUKYy2Sb9vyFtGWznfk5CVVSeN1ObSo6Q5zippULXD+yd+XbJdc8D56P4DY6BoOoqY0HUkjGdkgqQF2MO9z+KN3Cz7McuPCkM1A7oxl4cWRhHVIPJU8rzK/jvDNM8nTnjySUfEG8XoGJv1tuhdpaT0xG8="
pwd="12342231"></Channel>
</DigitalEnvelope>
实体类:
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="DigitalEnvelope")
@XmlAccessorType(XmlAccessType.FIELD)
public class DigitalEnvelopeDefinition {
@XmlElement(name="Channel")
private List<ChannelDefinition> channels;
public List<ChannelDefinition> getChannels() {
return channels;
}
public void setChannels(List<ChannelDefinition> channels) {
this.channels = channels;
}
}
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="Channel")
@XmlAccessorType(XmlAccessType.FIELD)
public class ChannelDefinition {
@XmlAttribute(name="id")
private String id;
@XmlAttribute(name="privatekey")
private String privatekey;
@XmlAttribute(name="pwd")
private String pwd;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPrivatekey() {
return privatekey;
}
public void setPrivatekey(String privatekey) {
this.privatekey = privatekey;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getPwd() {
return pwd;
}
}
测试类:
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
public class readXML {
public static void main(String[] args) throws Exception {
URL url=DigitalEnvelopeDefinition.class.getClassLoader().getResource("DigitalEnvelopeCfg.xml");
if(url == null) {
throw new IOException("文件--未找到");
}
URLConnection conn;
try {
conn = url.openConnection();
File file = new File(conn.getURL().toURI());
JAXBContext context = JAXBContext.newInstance(DigitalEnvelopeDefinition.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
DigitalEnvelopeDefinition unmarshal = (DigitalEnvelopeDefinition) unmarshaller.unmarshal(file);
for(int i=0; i<unmarshal.getChannels().size();i++){
System.out.println(unmarshal.getChannels().get(i).getId());
System.out.println(unmarshal.getChannels().get(i).getPrivatekey());
System.out.println(unmarshal.getChannels().get(i).getPwd());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
相关文章推荐
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例 .
- Java读取TXT文件内容的方法
- DOM 方法实现java 读取xml文件
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法
- java读取xml文件内容
- 读取XML文件内容的简单方法
- [Java]读取文件内容方法总结
- jsp中读取xml文件中内容的方法
- jQuery读取XML文件内容的方法
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- JS通过ajax动态读取xml文件内容的方法
- Java中读取properties属性配置文件内容方法
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- Java 读取xml文件内容程序小结
- java从文件中读取内容方法
- java读取文件夹里的所有xml文件内容