Я не должен читать сложные XML-файлы. Я просто хочу считать следующий конфигурационный файл с самым простым средством чтения XML
localhost
3306
root
root
cash
Как считать вышеупомянутый XML-файл со средством чтения XML через Java?
Поскольку вы хотите анализировать файлы конфигурации, я думаю, что commons-configuration будет лучшим решением.
Commons Configuration предоставляет общий интерфейс конфигурации, который позволяет приложению Java читать данные конфигурации из различных источников (включая XML).
Мне нравится jdom:
SAXBuilder parser = new SAXBuilder();
Document docConfig = parser.build("config.xml");
Element elConfig = docConfig.getRootElement();
String host = elConfig.getChildText("host");
Вы можете использовать простой анализатор DOM для чтения xml-представления.
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
dom = db.parse("config.xml");
Альтернативно, даже это сработает...
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
, который позволяет анализировать файл без записи потоков кода. В нем используется ряд правил для определения действия, которое должно выполняться при обнаружении заданного элемента или атрибута (типичным правилом может быть создание определенного бизнес-объекта).
Для аналогичного случая использования в моем приложении я использовал JaxB. С Jaxb чтение XML-файлов похоже на взаимодействие с Java POJOs. Но для использования JAXB вам необходимо иметь xsd для этого xml файла. Вы можете найти больше информации здесь
Если вы хотите иметь возможность читать и записывать объекты в XML напрямую, вы можете использовать XStream
Для Java существует несколько анализаторов XML. Я использовал JDOM и нашел его особенно удобным для разработчиков. Под «дружественным к разработчику» я подразумеваю «ориентированный на Java» (т.е. вы работаете с объектами в своей программе), а не «ориентированный на документ», как некоторые другие инструменты.