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

如何不用java双引号发送Jaxb XmlAttribute数据

潘皓
2023-03-14

因此,当我尝试使用jaxb从java类构建xml时,会遇到以下问题。我的第一个标签应该是这样的:

<Entity Type=‘test-instance’>
Some xml
</Entity>

我需要第一个标签来写一些东西,但最后一个标签只需要有实体。

我创建了一个claas并添加了@XMLRootElement名称=实体的标签,并使用它我有正确的最后一个标签。如果我使用我在第一个和结束标记中的整个表达式,这对我没有帮助。

我添加了一个带有@XMLAttribute的 String 变量,这样我就可以在实体之后添加其他内容。问题是如果我用值初始化变量,我会得到字符串双引号。例如

@XMLAttribute(name=“Type”)
String x = “test-instance”;

当我构建它时,它会显示:

<Entity Type=“test-instance”>

,用双引号,我只需要单引号。

如果在xml属性中使用我需要的整个描述,例如:

@XMLAttribute(name=“Type=‘test-instance’”)
String x;

这将正常工作,但如果变量没有初始化,那么它不会添加任何东西,如果写一些像String x="";然后我会得到:

<Entity Type=‘test-instance’=“”>

所以我无法摆脱来自我的字符串的引号。

我在考虑对第一个实体标签进行硬编码,并对最后一个实体标签进行不同的关闭,但是什么也找不到。

或者使用另一个选项设置XMLAttribute,即使String未初始化。我在XMLElement上看到了类似“required”的内容,但它不适用于XMLAttribute,我不确定它是否能满足我的需要。

任何帮助将不胜感激。

谢啦

共有1个答案

丌官利
2023-03-14

在XML应用程序中,原则应该是:

(a)接收应用程序不应该关心如何编写XML的无关紧要的词法细节。(实现这一点的最佳方法是使用值得尊敬的XML解析器来读取XML。)

(b)编写应用程序应该自由地使用他们认为方便的任何词汇约定。(这意味着您可以使用任何可靠的序列化库来编写XML。)

属性的单引号或双引号的选择是这些无关紧要的词汇细节之一。

我们在堆栈溢出上看到了很多问题,这些问题是由人们不遵守这些规则引起的。

你还没有解释为什么你需要生成单引号。也许XML正在被一个不遵循规则(a)的应用程序使用。在这种情况下,你应该修理它!如果您不能修复它,那么您将大大增加您的成本,事实上,使用XML根本没有什么意义。

有时,当我们问这个问题时,我们得到的答案是“因为客户坚持这样做”。作为专业人士,教育我们的客户是我们的工作:他们在支付账单,把他们的钱花在糟糕的工程上是不负责任的,即使这是他们说他们想要的。

 类似资料:
  • 问题内容: 因此,当尝试使用jaxb从Java类构建xml时,出现以下问题。我的第一个标签必须是这样的: 我需要第一个标记中写入一些内容,但最后一个标记仅需要具有实体。 我创建了一个claas,并使用name = Entity添加了@XMLRootElement标记,并使用此标记具有正确的最后一个标记。如果我使用整个表达式,那么我在first和close标记中都没有帮助。 我使用@XMLAttri

  • 问题内容: 如何使用PHP 用(我认为其称为单引号)替换(我认为它称为双引号)? 问题答案: 或重新分配

  • 问题内容: 我正在读取CSV文件,并且有一些值,例如 将文件读取为并转换后,我将文件内容分割为:。 在迭代字符串时,我得到以下值: 如何将两个双引号替换为像这样的“双”的单双 这是我的代码:- 问题答案: 使用。 http://ideone.com/xPQqL

  • 问题内容: 我想从字符串中删除一个双引号(“)开头和结尾。 如何在Java中实现呢?谢谢! 问题答案: 您可以为此使用模式。 例如 要了解有关正则表达式的更多信息,请访问http://regular-expression.info。 也就是说,这有点像您要发明CSV解析器的味道。如果是这样,我建议您四处看看现有的库,例如OpenCSV。

  • 我目前正在使用一个替换脚本来自动修复单引号和双引号。 但是,我找不到一个解决方案来更改嵌套在另一个双引号内的任何地方的双引号 “在'abc'开头和结尾有一些额外的文本” 目前,我只能自动修复这个类型,如果它在其他引号旁边(例如“abc”)使用一个简单的替换脚本 和

  • 我一直在从事一个Java项目,我必须创建一个服务器(Tomcat),并使用Jersey和Java生成一个API。目前,我可以使用以下代码获得单个用户的详细信息。 如果我运行下面的API,我能够得到单个用户。 我还需要一个API来基于多个ID检索多个用户 如何更改上述方法,以便能够检索多个id? 注意:在这种情况下,我的用户超过100个。我应该把它们都作为参数传递吗?有没有其他方法可以让应用编程接口