#java #xml-parsing
#java #xml-синтаксический анализ
Вопрос:
Из строки, подобной
<TestData Identifier="Test" requiredAttribute="Present"></TestData> <TestData Identifier="Test1" requiredAttribute="Present1"></TestData> <TestData Identifier="Test2" requiredAttribute="Present2"></TestData> <TestData Identifier="Test3" requiredAttribute="Present3"></TestData>
каков наилучший способ получить значения атрибутов RequiredAttribute, т.е. (Present, Present1, Present2 …)
Комментарии:
1. Это, вероятно, самый распространенный вопрос на этом сайте. Ни один из этих связанных вопросов
------>
не решает вашу проблему?2. Это вера ваших отцов, которая не позволяет вам ввести «java parse xml example» в Google?
Ответ №1:
Вы можете заглянуть в раздел JAXB unmarshalling. Ознакомьтесь с этой страницей для получения более подробной информации, она должна указывать на то, что вам нужно
Ответ №2:
Для базового синтаксического анализа XML, подобного этому, я нашел NanoXML @ http://nanoxml.cyberelf.be / быть примерно самым простым и легковесным.
Работа с XML в Java приведет вас к долгому пути к боли, если вы начнете использовать все другие библиотеки.
Ответ №3:
Это не XML — но вы могли бы сделать это с помощью регулярного выражения или путем преобразования его в XML и синтаксического анализа. Последнее, вероятно, дороже. Это зависит от того, каковы фактические тестовые данные и ваши требования к ним.
Комментарии:
1. можете ли вы предоставить мне один пример того, как добиться этого с помощью регулярных выражений?
2. Это зависит. Какие данные вы пытаетесь захватить? Только атрибут?
3. Если все, что вы делаете, это ищете атрибут, вы должны сопоставить его с группой «RequiredAttribute=»([^»)»» и фиксируем совпадения. Это ужасно некрасиво и, вероятно, недостаточно, но я не знаю, чего вы пытаетесь достичь или с какими данными.
4. Синтаксический анализ xml и тому подобное — решаемая проблема. Не предлагайте изобретать велосипед.