Как считать XML-файл с Java?

Я не должен читать сложные XML-файлы. Я просто хочу считать следующий конфигурационный файл с самым простым средством чтения XML


    localhost
    3306
    root
    root
    cash

Как считать вышеупомянутый XML-файл со средством чтения XML через Java?

8
задан Glorfindel 21 June 2019 в 22:03
поделиться

7 ответов

Поскольку вы хотите анализировать файлы конфигурации, я думаю, что commons-configuration будет лучшим решением.

Commons Configuration предоставляет общий интерфейс конфигурации, который позволяет приложению Java читать данные конфигурации из различных источников (включая XML).

8
ответ дан 5 December 2019 в 05:34
поделиться

Мне нравится jdom:

SAXBuilder parser = new SAXBuilder();
Document docConfig = parser.build("config.xml");
Element elConfig = docConfig.getRootElement();
String host = elConfig.getChildText("host");
9
ответ дан 5 December 2019 в 05:34
поделиться

Вы можете использовать простой анализатор DOM для чтения xml-представления.

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

DocumentBuilder db = dbf.newDocumentBuilder();
dom = db.parse("config.xml");
5
ответ дан 5 December 2019 в 05:34
поделиться

Альтернативно, даже это сработает...

        XmlDocument xmlDoc = new XmlDocument( );
        xmlDoc.Load( @"D:\Diary.xml" );

        //.... make some changes here
        XmlText node = xmlDoc.CreateTextNode( "test" );
        xmlDoc.DocumentElement.AppendChild( node );

        xmlDoc.Save( @"D:\Diary.xml" );
-121--4434975-

Любой из первых двух хорошо, я бы сказал.

Не третье, хотя - «Login» является существительным (если это действительно вообще слово): «What is your login?»

Другие два глагола - «для входа» или «для входа».

-121--2637822-

Я бы рекомендовал Commons Digester , который позволяет анализировать файл без записи потоков кода. В нем используется ряд правил для определения действия, которое должно выполняться при обнаружении заданного элемента или атрибута (типичным правилом может быть создание определенного бизнес-объекта).

2
ответ дан 5 December 2019 в 05:34
поделиться

Для аналогичного случая использования в моем приложении я использовал JaxB. С Jaxb чтение XML-файлов похоже на взаимодействие с Java POJOs. Но для использования JAXB вам необходимо иметь xsd для этого xml файла. Вы можете найти больше информации здесь

0
ответ дан 5 December 2019 в 05:34
поделиться

Если вы хотите иметь возможность читать и записывать объекты в XML напрямую, вы можете использовать XStream

0
ответ дан 5 December 2019 в 05:34
поделиться

Для Java существует несколько анализаторов XML. Я использовал JDOM и нашел его особенно удобным для разработчиков. Под «дружественным к разработчику» я подразумеваю «ориентированный на Java» (т.е. вы работаете с объектами в своей программе), а не «ориентированный на документ», как некоторые другие инструменты.

2
ответ дан 5 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: