iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >深圳java培训:构建xml文档--【千锋】
  • 541
分享到

深圳java培训:构建xml文档--【千锋】

2023-06-02 13:06:01 541人浏览 薄情痞子
摘要

深圳java培训:构建xml文档--【千锋】我需要从Java对象层次结构构建一个XML文档。Java类和XML格式都是固定的。所以我不能使用像XStream这样的XML序列化器:它将XML格式基于Java类。同样,像JAXB这样的Java

深圳java培训:构建xml文档--【千锋】

我需要从Java对象层次结构构建一个XML文档。Java类和XML格式都是固定的。所以我不能使用像XStream这样的XML序列化器:它将XML格式基于Java类。同样,像JAXB这样的Java XML绑定技术也不行,因为它从XML模式创建Java类[ed:但见下文]。我需要一个手动方法。

低技术的StringBuilder路由会导致易碎和错误的代码(至少对我来说!)。

像JAXP或JDOM这样的api可以产生更健壮的代码,但这些代码非常冗长。

Groovy有一个优雅的MarkupBuilder:

def writer = new StringWriter()

def xml = new MarkupBuilder(writer)

xml.records() {

  car(name:'HSV Maloo', make:'Holden', year:2006) {

    country('Australia')

    record(type:'speed', 'Production Pickup Truck with speed of 271kph')

  }

  car(name:'P50', make:'Peel', year:1962) {

    country('Isle of Man')

    record(type:'size', 'Smallest Street-Legal Car at 99cm wide and 59 kg')

  }}

其他语言(如Ruby)有更好的语言,尽管我想留在纯Java中。似乎有一些Java的新的XML构建器,例如practicalxml和James Murty的xmlbuilder。

在Java中构建XML文档的更优雅的方法是什么?

概要:

Jon Doe建议dom4j和jdom。

CurtainDog推荐使用JAXB,而jherico则告诉我这是一个有针对性的建议:然后你可以使用Dozer来映射我当前的JavaBeans和JAXB JavaBeans。

thaggie建议JIBX并同意CurtainDog和jherico绑定技术实际上是实用的。

StaxMan推荐StaxMate。

在我看过的东西中,practicalxml和James Murty的xmlbuilder似乎是最简洁的构建器,虽然比较新颖。像JAXB这样的绑定技术似乎提供了额外的安全/自动化。在主流选择中,dom4j看起来很体面,但仍然有点冗长。它提供了一个“流畅的接口”(mutators返回对变异对象的引用,以便它们可以链接在一起),我喜欢它:

public Document createDocument() {

    Document document = DocumentHelper.createDocument();

    Element root = document.addElement( "root" );

    Element author2 = root.addElement( "author" )

      .addAttribute( "name", "Toby" )

      .addAttribute( "location", "Germany" )

      .addText( "Tobias RadeMacher" );

    Element author1 = root.addElement( "author" )

      .addAttribute( "name", "James" )

      .addAttribute( "location", "UK" )

      .addText( "James Strachan" );

    return document;}

为了简明起见,你可以在这个API上封装一个精简的外观,为这些方法中的一些提供简洁的同义词(例如,attr()而不是addAttribute())。

--结束END--

本文标题: 深圳java培训:构建xml文档--【千锋】

本文链接: https://www.lsjlt.com/news/230299.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 深圳java培训:构建xml文档--【千锋】
    深圳java培训:构建xml文档--【千锋】我需要从Java对象层次结构构建一个XML文档。Java类和XML格式都是固定的。所以我不能使用像XStream这样的XML序列化器:它将XML格式基于Java类。同样,像JAXB这样的Java ...
    99+
    2023-06-02
  • 深圳云计算培训学习:构建企业级WIKI及工单系统 --【千锋】
    深圳云计算培训学习:构建企业级WIKI及工单系统 --【千锋】-Author: bavdu -Email: bavduer@163.com -Github: https://github.com/bavdu 部署Conflfluence W...
    99+
    2023-06-04
  • 深圳Web前端培训学习:js中的模块化--【千锋】
    深圳Web前端培训学习:js中的模块化--【千锋】0.前言  我们知道最常见的模块化方案有CommonJS、AMD、CMD、ES6,AMD规范一般用于浏览器,异步的,因为模块加载是异步的,js解释是同步的,所以有时候导致...
    99+
    2023-06-03
  • 深圳云计算培训学习:女生做云计算运维容易吗?–【千锋】
    深圳云计算培训学习:女生做云计算运维容易吗?–【千锋】女生在互联网这个行业,选择云计算做运维是再合适不过的了,拿高薪,还没有太多的代码量。新手学习云计算的规划:虚拟化目前分为服务器虚拟化(以VMware为代表)、桌面虚拟化(思杰要比vmwa...
    99+
    2023-06-04
  • 运维工程师怎样才能更好的进阶?-千锋深圳云计算培训
    运维工程师怎样才能更好的进阶-千锋深圳云计算培训云计算的就业前途,某种意义上也可以理解为云计算为我们提供的服务,存在一定的必然性,也就是说云计算对于社会、云计算使用者有哪些优势,也同时可以理解为,云计算的优势就是云计算的就业优势。关于“云计...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作