【发布时间】:2021-07-10 11:06:12
【问题描述】:
所以我有一个任务,我被困在其中。该程序将类的实例保存到 xml 文件中。每个字段都有一个注释,它告诉它类型的简单名称。 (Integer、String、Double 等)我在其中获取每个 xml 标记的值和属性。我创建了一个存储标签值的对象。我想将该对象转换为 xml 属性给出的类型,但由于它将是一个字符串,Java 不会让我这样做。我将复制我的部分代码以便更好地理解。
for(Integer j = 0; j < tulajdonsagok.getLength(); j++){
Node nodee = tulajdonsagok.item(j); //this is the field of the class instance in the xml
if(nodee.getNodeType() != Node.ELEMENT_NODE)
continue;
Element tulajdonsag = (Element)nodee;
String tulajdonsagNev = tulajdonsag.getNodeName(); //getting the field's name
Object adat = (tulajdonsag.getTextContent()); //getting the field's value
Attr attr = (Attr)tulajdonsag.getAttributes().getNamedItem("type");
//The type attribute is the value type
Class<?> cls = Class.forName("java.lang."+attr.getValue());
//}
}
在这里,例如,如果类型是 Double,我想将名为“adat”的对象转换为给定类型。但是不知道怎么弄,因为拿到了标签的文本内容,自动变成了字符串。
【问题讨论】:
标签: java xml object types casting