gpt4 book ai didi

java bean表示读取前缀:attrName

转载 作者:太空宇宙 更新时间:2023-11-04 07:09:39 24 4
gpt4 key购买 nike

我正在尝试通过 JAXB 和 java beans 读取 xml 的属性:这是完整的 xml:

    <dad xml:lang="en">
</dad>

我需要获取 lang 属性:我的java bean表示如下:这是 xml 的 java 表示形式:

    @XmlRootElement(name = "dad")
public class dad {
@XmlAttribute(namespace = "xml", required=true, name = "lang")
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String xmlLang;
public String getXmlLang() {
return xmlLang;
}

public void setXmlLang(String value) {
this.xmlLang = value;
}
}

这是我在解码时使用的代码:

    JAXBContext jc = JAXBContext.newInstance("dad.model");
Unmarshaller unmarshaller = jc.createUnmarshaller();
dad doc = (dad) unmarshaller.unmarshal(new InputStreamReader(new FileInputStream(dad),"UTF-8"));
System.err.println(doc.getXmlLang());

但它给了我空?!请帮忙。谢谢

最佳答案

命名空间不是 xmlxml 只是标识符。实际的保留命名空间是http://www.w3.org/XML/1998/namespace。所以你的注释应该是

@XmlAttribute(namespace = "http://www.w3.org/XML/1998/namespace", required = true, name = "lang")

关于java bean表示读取前缀:attrName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20831961/

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