当前位置: 首页 > 知识库问答 >
问题:

使用带有字符的JAXB

盛琪
2023-03-14

我有一个字符类型的@XMLElement,但当它被封送时,它似乎被放入一个二进制字符串中,例如。。。

'n' becomes 110
'e' becomes 101

除了将它们转换为字符串之外,还有没有一种方法可以输出文本char而不是表示?

共有1个答案

弘承业
2023-03-14

您可以编写一个XmlAdapterXmlAdapter允许您将一种类型的对象转换为另一种类型,以便进行编组/解编组。

XmlAdapter(CharacterAdapter)

import javax.xml.bind.annotation.adapters.XmlAdapter;

public class CharacterAdapter extends XmlAdapter<String, Character> {

    @Override
    public Character unmarshal(String v) throws Exception {
        return v.charAt(0);
    }

    @Override
    public String marshal(Character v) throws Exception {
        return new String(new char[] {v});
    }

}

Java模型

使用@XmlJavaTypeAdapter注释指定XmlAdapter

import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

@XmlRootElement
public class Foo {

    private Character bar;

    @XmlJavaTypeAdapter(CharacterAdapter.class)
    public Character getBar() {
        return bar;
    }

    public void setBar(Character bar) {
        this.bar = bar;
    }

}

更多信息

  • http://blog.bdoughan.com/2010/07/xmladapter-jaxbs-secret-weapon.html
 类似资料:
  • 我将tinyMCE与一些ajax函数一起使用。我有自己的按钮来保存内容,当用户使用按下它时,我会获取内容并将其发送到服务器。我还使用自己的bbcode插件在保存之前将内容从html转换为bbcode。但问题是当用户使用一些重音字符时,如会将其转换为。我尝试使用,但在本例中bbcode不起作用。意思是从 Wir Müssen uns Treffen

  • 我正在创建一个跟踪员工的程序。我有一个ArrayList跟踪当前的员工。由于ArrayLists在程序重新启动后不会被保留,我需要找到一种方法来保留员工列表。我决定创建一个包含所有员工列表的文件,然后每次程序运行时,它都会将该文件导入到ArrayList中。我创建了一个save方法和一个addEmployee方法,这就是我目前所拥有的: 创建新员工的代码(不是addEmployee方法): 保存方

  • 问题内容: 我遇到了一个大问题,即通过jQuery Ajax将数据作为JSON发布到我的服务器。JSLint表示数据正常,并且请求的Content- Type设置为。服务器在PHP 5.2.11上运行,所以我不能使用。 我尝试了url_decode,utf8_decode和html_entities_decode,但似乎没有任何效果。 返回null,但如果执行此操作,一切正常。是发布数据:。 这是

  • 我一直在使用字符串插值并喜欢它。但是,我有一个问题,我试图在输出中包含反斜杠,但我无法让它工作。 我想要这样的东西... 我希望组合的输出为: 我收到一个关于\是转义字符的语法错误。如果我输入\\,则语法错误消失,但输出是myDomain\\myUsername。 如何在插值字符串中包含转义字符?

  • 问题内容: 据我了解,HTML5规范使您可以使用ID这样的数字。 我可以使用,但不能使用。如果尝试执行以下操作, 则会 在控制台中收到 SyntaxError:DOM异常12 。 我只是很好奇,为什么当HTML5规范说数字有效时,将数字用作ID 无效。我尝试了多种浏览器。 问题答案: 它是有效的,但是需要一些特殊的处理。从这里: 前导数字 如果标识符的第一个字符是数字,则需要根据其Unicode代

  • 问题内容: 我在提交表单时从管理员通过textarea检索存储在数据库中的产品描述值。当我选择从数据库中的描述,我得到,我想响应主页上$描述是这样的:但我看到的字符而不是制造新的行。根据我在网上发现的信息,必须在双引号之间使用您的字符串,如下所示: 现在,from数据库的值实际上是,但是在我的脚本中,我必须像这样使用它: 哪个不产生br,而是输出。因此,根据我的经验,我该怎么办,不能在此处使用双引