我有以下问题,当我生成XML文件时,Jaxb给根元素的名称空间添加前缀,我不知道如何跳过它。
我有软件包信息.java文件
@XmlSchema(namespace = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.03", xmlns = {
@XmlNs(namespaceURI = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.03", prefix = "")
}, elementFormDefault = XmlNsForm.QUALIFIED)
我有根元素
@XmlType(name = "Document",
propOrder = {
"cstmrCdtTrfInitn"
})
@XmlRootElement(name = "Document")
public class Document {
@XmlElement(name = "CstmrCdtTrfInitn", required = true)
protected CustomerCreditTransferInitiationV03 cstmrCdtTrfInitn;
}
结果我得到了
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Document xmlns:ns2="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<ns2:CstmrCdtTrfInitn>
<ns2:GrpHdr/>
</ns2:CstmrCdtTrfInitn>
</ns2:Document>
如果没有@XmlNs,它的工作方式也是一样的,将命名空间添加到@XmlRoolElement也没有帮助。它会有什么问题?
不确定您试图实现什么,您的xml与您的代码完全匹配。
如果您根本不想要命名空间:
<Document>
<CstmrCdtTrfInitn>
<GrpHdr>ala</GrpHdr>
</CstmrCdtTrfInitn>
</Document
只需将包信息更改为
@XmlSchema()
如果你想使用目标名称空间(所以没有前缀),比如
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<CstmrCdtTrfInitn>
<GrpHdr>ala</GrpHdr>
</CstmrCdtTrfInitn>
</Document>
然后
@XmlSchema(
namespace = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.03",
elementFormDefault = XmlNsForm.QUALIFIED)
以上均使用标准Java7 jaxb进行了测试
我正在使用JAXB从XML生成java代码,它有一个枚举 我想为这个枚举添加几种颜色,比如红色和白色。我们不想更新xsd或生成的XML/Java代码,因为这些代码不属于我们,我们想要保持原样。 备选案文1.如果有一种读取XSD的方法,当它读取xs:simpleType name=“color”时,我可以为枚举添加颜色,这样生成的java枚举就具有所有需要的值 备选案文2.如果我可以编写一个适配器,
我需要填充一个json文件,现在我有如下内容: 我需要添加另一个“元素”。我的第一步是使用,现在我需要添加新元素。我想我必须使用添加另一个元素,我尝试了以下方法: 但是当我尝试做时,我得到了错误"对象没有方法推送",我认为我做了一些非常错误的事情,因为我没有告诉任何地方的"元素"。 我该怎么做? 编辑:对不起,我脑子里有很多困惑。 我认为从,但我首先得到了我在JSON中输入的内容。 用数组代替对象
我有个文件名测试。json 我读了这个文件,我想得到这个 我要阅读和构建的代码 从JSON的那句话中,我得到了 com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)接受格式错误的JSON 我的绳子坏了? 我试过了 我知道这不是JSON数组。
有人帮忙吗? 提前道谢。
我不确定以下问题是否适用于jaxb,但我还是会问。 在某个项目中,我们使用带有定义模式的jaxb来创建xml文件的下一个结构。 我们还使用jaxb的自动类生成来创建类:aaa和bbb,其中aaa生成为@XmlRootElement。 我们现在希望在新项目中使用相同的模式,该模式也将与以前的项目兼容。我想做的是使用相同的jaxb生成的类,而不需要对模式进行任何更改,以便仅将单个bbb对象封送到xml
问题内容: 我有办法 在内部,我想调用另一个方法并将其传递,但是我想向其他对象添加新元素(描述)。 如何在Java中做到这一点?代码是什么样的? 问题答案: 只是一个数组。因此: 您可能需要弄混的通用类型。 您可以更快但更冗长: