Мне было интересно, как я могу пройти анализируемый xml в разных классах Java в рамках одного и того же проекта. Например, у меня есть
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder builder = factory. newDocumentBuilder();
Document document = builder.parse("Companies.xml");
etc.
И я могу разобраться в этом и сделать то, что мне нужно сделать в основном, но я хотел бы разделить этот процесс на разные классы. У меня был бы класс для сотрудников, отделов и т.д. Но когда я это делаю в основном, я могу просто сказать: NodeList EmployeeList = document.getElementsByTagName("сотрудники") ;. Но если бы я попробовал это в другом классе, у него не было бы доступа к документу. Итак, как я могу использовать документ в другом классе, или мне нужно создать новый "документ" в каждом классе? Благодарю!
Вы передадите объект Document в конструктор нового класса. Затем он может анализировать элементы, которые ему нужны.
В качестве альтернативы вы можете использовать парсер Java Object, который может конвертировать в и из XML для вас.
Лучше всего было бы
1.) Чтобы иметь конструктор в каждом классе, принимаем Document Object as argument
.
2.) Используйте Document Document в других классах, чтобы получить значения.
3.) Или вы можете напрямую конвертировать из XML to JAVA Object
или Java Object to XML
, следуйте этим ссылкам.
Document document