Как я могу преобразовать XML в объект Java, если я не знаю объект Java заранее? - PullRequest
0 голосов
/ 07 февраля 2019
FileReader fileReader = new FileReader("test.xml"); // load your XML file  
XStream xstream = new XStream(); // init XStream  
// Define root alias so XStream knows which element and which class are equivalent.
xstream.alias("test", Test.class);   
Test test = (Test) xstream.fromXML(fileReader);  

Примечание. Вышеприведенный процесс заключается в том, что если я заранее знаю класс, но если я не знаю о файле test.class, то как его можно преобразовать в класс Java?

1 Ответ

0 голосов
/ 07 февраля 2019

Технологии связывания данных, такие как JAXB, отображают схему XML на набор классов на объектно-ориентированном языке, таком как Java;они работают только в том случае, если схема XML стабильна, а сопоставление с классами Java стабильно и известно заранее.

Когда вы имеете дело с экземплярами XML, структура которых неизвестна заранее или структура которых имеет многоварианты и версии, тогда технологии привязки данных не подходят.Для этого вам нужен более общий подход, например, использование DOM-подобных API-интерфейсов (вероятно, XOM и JDOM2 - лучшие), или XSLT или XQuery, не поддерживающие схемы.

...