Я пытаюсь разобрать файл XML, но я получаю эту ошибку в заголовке. Я искал другие вопросы, но я не уверен, что мне делать. Я использовал Pojo для преобразования моего XML-файла в объект Java, НО я не использовал никаких аннотаций XML . Вот мой XML-файл:
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
<friendlyName>dummyvariable</friendlyName>
<manufacturer>dummyvariable</manufacturer>
<manufacturerURL>dummyvariable</manufacturerURL>
<modelDescription>dummyvariable</modelDescription>
<modelName>dummyvariable</modelName>
<modelNumber>dummyvariable</modelNumber>
<modelURL/>
<serialNumber>dummyvariable</serialNumber>
<UDN>dummyvariable</UDN>
<serviceList>
<service>
<serviceType>urn:schemas-dummy-com:service:Dummy:1</serviceType>
<serviceId>urn:dummy-com:serviceId:dummy1</serviceId>
<controlURL>/dummy</controlURL>
<eventSubURL>/dummy</eventSubURL>
<SCPDURL>/dummy.xml</SCPDURL>
</service>
</serviceList>
<presentationURL>dummyvariable</presentationURL>
</device>
</root>
и вот мой метод получения:
public Root getURL(String urrl){
BufferedReader br = null;
try {
URL url = new URL(urrl);
br = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
StringReader sr = new StringReader(sb.toString());
JAXBContext jaxbContext = JAXBContext.newInstance(PojoTest.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
PojoTest pojoTest = (PojoTest) unmarshaller.unmarshal(sr);
System.out.println(pojoTest.toString());
return pojoTest.getRoot();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
У меня есть 6 классов pojo. PojoTest возвращает Root, в котором есть переменные specVersion, device и xmlns, а значения, которые я на самом деле хочу вернуть, это производитель, modelName, modelNumber, serialNumber и presentationURL.