Как проанализировать вложенный XML с помощью XSD и создать структурированный список хэш-карт в Java ⇐ JAVA
-
Anonymous
Как проанализировать вложенный XML с помощью XSD и создать структурированный список хэш-карт в Java
Я работаю с Java для обработки данных XML. Моя цель — преобразовать вложенный XML-файл (с соответствующим XSD) в список хэш-карт, где каждый HashMap представляет строку данных, с именами тегов XML в качестве имен столбцов и значений в качестве соответствующих данных.
Я попытался обработать XML с помощью анализатора DOM Java (DocumentBuilderFactory и DocumentBuilder).
Мой код перебирает все узлы (nodeList) в XML-документе. Для каждого узла элемента я проверяю и сохраняю любые атрибуты. Затем я перебираю дочерние узлы, извлекая имя тега и текстовое содержимое для создания HashMap (currentRecord), представляющего одну строку данных. Я поддерживаю список записей для хранения завершенных HashMaps.
for (int i = 0; i < nodeList.getLength(); i++) { Узел currentNode = nodeList.item(i); if (currentNode.getNodeType() == Node.ELEMENT_NODE) { Элемент currentElement = (Элемент) currentNode; // Проверяем, есть ли атрибуты, если да, добавляем их в карту currentRecord Атрибуты NamedNodeMap = currentElement.getAttributes(); for (int k = 0; k
Я работаю с Java для обработки данных XML. Моя цель — преобразовать вложенный XML-файл (с соответствующим XSD) в список хэш-карт, где каждый HashMap представляет строку данных, с именами тегов XML в качестве имен столбцов и значений в качестве соответствующих данных.
Я попытался обработать XML с помощью анализатора DOM Java (DocumentBuilderFactory и DocumentBuilder).
Мой код перебирает все узлы (nodeList) в XML-документе. Для каждого узла элемента я проверяю и сохраняю любые атрибуты. Затем я перебираю дочерние узлы, извлекая имя тега и текстовое содержимое для создания HashMap (currentRecord), представляющего одну строку данных. Я поддерживаю список записей для хранения завершенных HashMaps.
for (int i = 0; i < nodeList.getLength(); i++) { Узел currentNode = nodeList.item(i); if (currentNode.getNodeType() == Node.ELEMENT_NODE) { Элемент currentElement = (Элемент) currentNode; // Проверяем, есть ли атрибуты, если да, добавляем их в карту currentRecord Атрибуты NamedNodeMap = currentElement.getAttributes(); for (int k = 0; k
Мобильная версия