gpt4 book ai didi

XML 命名空间前缀不能为空

转载 作者:行者123 更新时间:2023-12-04 16:51:57 26 4
gpt4 key购买 nike

我正在尝试将对象编码到 XML 中,但 namespace 前缀有问题(我不想有任何前缀)。

我正在使用 bindigs 文件来自定义生成的类。
生成的 package-info.java 文件包含以下内容:

@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.test.com", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, xmlns = {
@javax.xml.bind.annotation.XmlNs(namespaceURI = "http://www.test.com", prefix = "")})
package com.test;

因此,前缀设置为“”,但是当生成 XML 时,我有一个生成的前缀。
如果我为前缀使用另一个值(不同于空字符串),则会使用正确的前缀生成 XML。

最佳答案

使用最新的 JAXB,您必须将 QUALIFIED 设置为 XmlSchema 注释的 elementFormDefault 字段。像这样:

@XmlSchema (
elementFormDefault= XmlNsForm.QUALIFIED,
...)

否则,JAXB 将添加自动前缀 (ns1, ns2, ...)

关于XML 命名空间前缀不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12799774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com