导航:首页 > 编程语言 > jaxbxmltojava

jaxbxmltojava

发布时间:2023-09-29 05:01:08

① 如何根据xml和schema文件生成java类(用程序实现)!

验证应该好写吧,主要是解析xml

可以使用工具包dom4j

类似例子

dom4j参见http://javacrazyer.iteye.com/blog/727298

publicstaticvoidreadXML()throwsDocumentException{
SAXReadersr=newSAXReader();//获取读取xml的对象。
Documentdoc=sr.read("src/com/pzr/test//test.xml");//得到xml所在位置。然后开始读取。并将数据放入doc中
Elementel_root=doc.getRootElement();//向外取数据,获取xml的根节点。
Iteratorit=el_root.elementIterator();//从根节点下依次遍历,获取根节点下所有子节点

while(it.hasNext()){//遍历该子节点
Objecto=it.next();//再获取该子节点下的子节点
Elementel_row=(Element)o;
Strings=el_row.getText();
Iteratorit_row=el_row.elementIterator();
while(it_row.hasNext()){//遍历节点
Elementel_ename=(Element)it_row.next();//获取该节点下的所有数据。
System.out.println(el_ename.getText());
}
}
}

② 如何将xml文件转变成java对象

首先 java是面向对象的编程语言,所以你要理解面向对象的思想。在这个前提下我们可以理解 文件 本身就是java的对象File,而xml只是File类中对象的一种实例。你可以创建一个File 把你的xml的路径传入这个对象的有参构造,这样就实例化了一个xml文件类的对象

③ 在java在如何解析XML文件

在java环境下读取xml文件的方法主要有4种坦谈:DOM、SAX、JDOM、JAXB
1. DOM(Document Object Model)
此方法主要由W3C提供,它将xml文件全部读入内存中,然后将各个元素组成一棵数据树,以便快速的访问各个节点 。 因此非常消耗系统性能 ,对比较大的文档不适宜采用DOM方法来解析。 DOM API 直接沿袭了 XML 规范。每个结点都可以扩展的基于 Node 的接口,就多态性的观点来讲,它是优秀的,但是在 Java 语言中的应用不方便,并且可读性不强。
实例:
import javax.xml.parsers.*;
//XML解析器接口
import org.w3c.dom.*;
//XML的DOM实现
import org.apache.crimson.tree.XmlDocument;
//写让租碰XML文件要用到

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//允许名字空间
factory.setNamespaceAware(true);
//允许验证
factory.setValidating(true);
/型如/获得DocumentBuilder的一个实例
try {
DocumentBuilder builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
System.err.println(pce);
// 出异常时输出异常信息,然后退出,下同
System.exit(1);
}
//解析文档,并获得一个Document实例。
try {
Document doc = builder.parse(fileURI);
} catch (DOMException dom) {
System.err.println(dom.getMessage());
System.exit(1);
} catch (IOException ioe) {
System.err.println(ioe);
System.exit(1);
}

//获得根节点StuInfo
Element elmtStuInfo = doc.getDocumentElement();

//得到所有student节点
NodeList nlStudent = elmtStuInfo.getElementsByTagNameNS(
strNamespace, "student");
for (……){
//当前student节点元素
Element elmtStudent = (Element)nlStudent.item(i);

NodeList nlCurrent = elmtStudent.getElementsByTagNameNS(
strNamespace, "name");
}

④ java怎样读取解析xml文件中的数据转换成java对象

SAXBuildersb=newSAXBuilder();//建立构造器
Documentdoc;
try{
doc=sb.build("E:/userinfod301.xml");//读入指定文件
Elementroot=doc.getRootElement();//获得根节点
Listlist=root.getChildren();//将根节点下的所有ObjectInstance子节点放入List中
for(inti=0;i<list.size();i++){
List<Element>listNext=((Element)list.get(i)).getChildren();//将ObjectInstance节点下的所有Attribute放入List中
for(intj=0;j<listNext.size();j++){
Elementsub=(Element)listNext.get(j);//取得节点实例
System.out.println(sub.getAttribute("name").getValue());
System.out.println(sub.getText());
}
}
}catch(Exceptione){
e.printStackTrace();
}

⑤ 如何把xml内容转换为java格式

使用XStream完成 java 类与 XML 互换。
下面代码实现了以下4种基本功能:
1. object类型转换为xml类型,在控制台打印
2. xml类型转换为object类型,在控制台打印
3. 将object类型转换为xml类型,并写入XML文件
4. 读取XML文件,加载进相应Object类型
====================================================
1。加载 XStream 需要的jar包 xstream-1.4.2.jar
xpp3_min-1.1.4c.jar
xmlpull-1.1.3.1.jar

2。创建实体类User.java
package com.entity;
/**
* 实体类
*/
public class User {
private String userName;
private String passWord;
private String registeredTime;
public User() { }
public User(String userName, String passWord, String registeredTime) {
this.userName = userName;
this.passWord = passWord;
this.registeredTime = registeredTime;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getRegisteredTime() {
return registeredTime;
}
public void setRegisteredTime(String registeredTime) {
this.registeredTime = registeredTime;
}
}

3。编写功能实现类
package com.switcher;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.entity.User;
import com.thoughtworks.xstream.XStream;
/**
*
* 使用 XStream不用任何映射就能实现多数 Java 对象的序列化。
* 在生成的 XML中对象名变成了元素名,类中的字符串组成了 XML中的元素内容。
* 使用 XStream 序列化的类不需要实现 Serializable 接口。
* XStream 是一种序列化工具而不是数据绑定工具
* 不能从XML 或者 XML Schema Definition (XSD) 文件生成类。
*/
public class SwitchXML {
/*
* XStream 不关心序列化/逆序列化的类的字段的可见性。
* 序列化/逆序列化类的字段不需要 getter 和 setter 方法。
* 序列化/逆序列化的类不需要有默认构造函数。
*/
private XStream xStream = new XStream();
private String xmlPath = "D:/userdata.xml";
// 1. obj -> xml(object类型转换为xml类型)
public String printXML(User user) {
System.out.println("obj -> xml");
String xml = xStream.toXML(user);
System.out.println(xml);
return xml;
}
// 2. xml->obj(xml类型转换为object类型,并打印)
public void printObj(String xml) {
System.out.println("xml -> obj");
User u = (User) xStream.fromXML(xml);
System.out.println(u.getUserName() + " " + u.getPassWord() + " " + u.getRegisteredTime());
}
// 3. 将object类型转换为xml类型,并写入XML文件(其他格式也可以,比如txt文件)
public void writerXML(User user) {
try {
FileOutputStream fs = new FileOutputStream(xmlPath);
xStream.toXML(user, fs);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
// 4. 读取XML文件,加载进相应Object类型
public void readerXML() {
User user = new User();
FileInputStream fis = null;
try {
fis = new FileInputStream(xmlPath);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
xStream.fromXML(fis, user);
// 打印对象信息
System.out.println(user.toString());
// 打印对象的属性值
System.out.println(user.getUserName() + "-" + user.getPassWord() + "-"
+ user.getRegisteredTime());
}
public static void main(String[] args) {
// 用户名
String username = "admin";
// 密码
String password = "admin";
// 注册时间
Date now = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
String registeredtime = format.format(now);
User user = new User(username, password, registeredtime);
SwitchXML switchXML = new SwitchXML();
// 1. object类型转换为xml类型,在控制台打印
String xml = switchXML.printXML(user);
System.out.println("---------------------");
// 2. xml类型转换为object类型,在控制台打印
switchXML.printObj(xml);
System.out.println("---------------------");
// 3. 将object类型转换为xml类型,并写入XML文件
switchXML.writerXML(user);
System.out.println("---------------------");
// 4. 读取XML文件,加载进相应Object类型
switchXML.readerXML();
}
}

阅读全文

与jaxbxmltojava相关的资料

热点内容
我的世界本地服务器默认地址 浏览:131
我的世设置命令方块会闪退 浏览:968
加密媒体怎么输密码 浏览:161
方舟如何删除服务器数据 浏览:600
用阅读app怎么看18 浏览:689
gn文件编译 浏览:783
酷闪加密系统 浏览:820
区块链数据加密 浏览:389
3d命令集 浏览:289
单片机的智能产品工厂里有 浏览:300
事业单位程序员有必要去吗 浏览:583
人工智能训练小鸟python 浏览:132
怎样把两个pdf合并成一个 浏览:681
什么app带仿制图章 浏览:420
单片机CJNE什么意思 浏览:569
廊坊服务器是什么 浏览:763
客户解压要打欠条还是收据 浏览:774
通过app组件启动有什么坏处 浏览:777
不属于国产密码算法 浏览:863
单片机LED显示字库 浏览:355