Извлечение и очистка данных XML с помощью XPath - PullRequest
1 голос
/ 03 апреля 2019

Я хочу извлечь все имена атрибутов, идентификаторы и значения, потому что данные необходимо импортировать в другую систему.

   <ATTRIBUTES>
        <ATTRIBUTE NAME="TOLERANCE" ID="AT000"></ATTRIBUTE>
        <ATTRIBUTE NAME="CHANGED_AT">
            <VALUE>2019-01-31</VALUE>
        </ATTRIBUTE>
        <ATTRIBUTE NAME="CHANGED_BY" ID="AT002"></ATTRIBUTE>
        <ATTRIBUTE NAME="WEIGHT_UNIT" ID="AT003">
            <VALUE>kg</VALUE>
        </ATTRIBUTE>
    </ATTRIBUTES>

Проблема в ATTRIBUTES/ATTRIBUTE/@ID, а ATTRIBUTES/ATTRIBUTE/#VALUE возвращает только существующие данныеи не указывать узлы, которые не имеют ID или value элемента.

Я нашел связанный вопрос , где кто-то искал атрибуты, которые не совпадали илине существовало, но я не могу перевести код в соответствии со своими потребностями.

Как я могу извлечь нормальные данные с помощью XPath, который сохраняет целостность данных?

1 Ответ

0 голосов
/ 03 апреля 2019

Я бы порекомендовал вам разобрать xml с помощью Jsoup-библиотеки.Он нацелен на чтение xml в html-контексте.У него есть несколько методов поиска элементов по Css-селектору, идентификатору или сопоставлению значения в атрибуте или обратного сопоставления значения в атрибуте, для непосредственного поиска значений атрибута и т. Д.

Просто используйте Jsoup.метод подключения для подключения к URL.Это вернет документ (специализация узла J-супа).С этого момента у вас есть широкий спектр методов для извлечения данных из Документа.

https://jsoup.org/

https://mvnrepository.com/artifact/org.jsoup/jsoup/1.8.3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...