gpt4 book ai didi

java - 解码 XML 文件时出现 ClassCastException(JAXBContext 传递正确的类名)

转载 作者:行者123 更新时间:2023-11-30 03:44:51 25 4
gpt4 key购买 nike

我有一个调用此方法的代码。我在解码时遇到 ClassCastException。我在创建 JAXBContext 对象时传递了正确的类名。

public TestsuiteType parseTestSuiteXML(String path) throws JAXBException, FileNotFoundException {
JAXBContext context = JAXBContext.newInstance(TestsuiteType.class);
Unmarshaller um = context.createUnmarshaller();
TestsuiteType ts = (TestsuiteType) um.unmarshal(new FileReader("/Users/admin/Documents/workspace_Nishant_dev/Practice/xmls/TEST-junit.xml"));
List<TestcaseType> tcs = ts.getTestcase();
Iterator<TestcaseType> it = tcs.iterator();
while(it.hasNext()) {
TestcaseType tc = it.next();
if(tc.getContent().size() == 0) {
tcs.remove(tc);
}
}
return ts;
}

上述代码的异常跟踪:

Exception in thread "main" java.lang.ClassCastException: javax.xml.bind.JAXBElement cannot be cast to com.jaxb.testjunit.TestsuiteType
at com.jaxb.testing.FailureProcessor.parseTestSuiteXML(FailureProcessor.java:49)
at com.jaxb.testing.FailureProcessor.main(FailureProcessor.java:24)

最佳答案

您会得到 JAXBElement<TestSuiteType> ,不是TestSuiteType 。您的值在 jaxbElement.getValue() .

关于java - 解码 XML 文件时出现 ClassCastException(JAXBContext 传递正确的类名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25996422/

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