从dom4j到JAXB

2024-01-12 00:58
文章标签 dom4j jaxb

本文主要是介绍从dom4j到JAXB,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

      寒假前,大费周章地按照BPEL协议的规定,并参考了Eclipse的BPEL设计工具的模型设计,建了大量的POJO模型。然后给每个模型类加了一个toElement()方法,利用dom4j工具将内容翻译成XML。这样可以做到只要最后执行:根节点的toElement()方法,就可以得到完整的BPEL流程的代码。为了保险起见,我还给每个POJO做了单元测试,以保证没有“笔误”。这些代码可都是一个字母一个字母打出来的呀!

 

      随着项目的推进,模型的一些细节需要改进,渐渐感觉dom4j有点麻烦,很多方法设计得不“人性化”,比如设了命名空间的url还要自己设prefix,不会自动生成,说白了就是不能让我偷懒。于是想到了JAXB,不用导第三方包,而且BPEL有现成的schema可以自动生成代码。于是去jdk的bin下翻出了xjc,敲下一行命令:“xjc -d 目的路径 -p "包名" schema文件”,一个回车,啪啦啪啦所有schema里定义的元素都给我生成出来了!靠,之前花在建模上那么多的劳动力都白费了……

 

     另外,记录一个心得:用dom4j从url构建document,只要是http协议(其它的协议没试)即使url的返回是空的或者压根就是乱输的,这个document也不会为空,会有一个默认根节点: <html />,所以不能简单的用根节点是否为空来作判断。

这篇关于从dom4j到JAXB的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/596294

相关文章

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

javaweb-day02-2(00:40:06 XML 解析 - Dom4j解析开发包)

导入dom4j开发包:dom4j-1.6.1.jar   在工程下建一个文件夹lib,将dom4j-1.6.1.jar拷到里边。右键add to build path。  dom4j-1.6.1\lib文件夹下还有一些jar包,是开发过程中dom4j所需要依赖的jar包,如开发过程中报错,则需导入。   用dom4j怎么做呢? 只要是开源jar包提供给你的时候,它会在开源包里面提供

XML-dom4j实战

dom4j是一个用来读取XML的工具包,它是采用DOM思想来读取的,也就是把XML组织成一个文档树,然后根据相应的节点来读取。 import java.io.File;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import

Jaxb - 生成带命名空间和节点前缀的Xml的方式

一、生成带命名空间的Xml     Xml效果 <Order xmlns="http://www.xl.com.cn/msg">     Java代码 /*** Entity*/@XmlRootElement(name="Order", namespace="http://www.xl.com.cn/msg")public class Order{} 二、声明带前缀的命名空间

Jaxb - com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 8 counts of IllegalAnnotationExcepti

一、异常 com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 8 counts of IllegalAnnotationExceptions类的两个属性具有相同名称 "orderName"his problem is related to the following location:at public java.lang.Stri

Dom4j 写文件不全

今天用dom4j 写文件,要么写文件不全,要么文件为空。 刚开始有问题的是: package com.zhangyue.translate;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import ja

dom4j-dom-sax解析

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://www.example.org/web-app_2_5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.example.org/web-app_2_5 w

利用dom4j解析xml

引言 最近有个项目需要解析xml 文件,获取其中的节点内容, 小编选择了一个编码简单又高效的dom4j来完成。 1、xml内容 <?xml version="1.0" encoding="UTF-8"?><RecognizeResult><Speech Uri="/Sub/2019-12-03.3/file/5149-15892322607-20191202141010-rJKTcXfpB

DOM4J学习笔记 --- Node与Element区别

Node是节点,一个属性、一段文字、一个注释等都是节点,而Element是元素, 是比较完整的一个xml的元素(可以由多个Node组成), 比如说<div id="ss"></div>其中它由元素节点、属性节点和文本节点组成,但是它是一个div元素, 我们平时在开发中经常大都使用的是Element,我们怎样把Node转为Element呢,

DOM4J学习笔记 --- Elements 与 Attributers区别

这几天在写Dom4j代码的时候发现了实现一个功能,可以使用Elements与Attributes这两种。 区别可以根据以下两段代码来区分: The first example sex in an attribute: <person sex="female"><firstname>Anna</firstname><lastname>Smith</lastname></