динамически обращаться к переменным классов - PullRequest
1 голос
/ 12 декабря 2010

Я не слишком уверен, что смогу сделать это, но я бы хотел.Я читаю в XML-файле, и на некоторых узлах имеется достаточное количество атрибутов, которые я храню в переменной внутри объекта.В настоящее время я анализирую узлы, получаю имена атрибутов, а затем перебираю очень большое число if / then / elses, чтобы иметь возможность сохранить его в правильной переменной объекта.Все это прекрасно работает.

Я хотел бы сделать это немного динамичнее, иметь механизм сопоставления, который сопоставляет имя атрибута с именем переменной в объекте.
Так, например, если у меня есть узел, я мог бы сопоставить данные, чтобы сказать, object.city и object.addr в моем объекте без необходимости иметь жестко закодированный if / then для каждого атрибута, который я захватил.У меня есть несколько узлов / объектов, для которых я делаю это, и хотя это не меняется так часто, я думаю, что было бы чище отобразить это, как я описал.

Возможно ли что-то подобное даже в Java?

большое спасибо.

Ответы [ 2 ]

2 голосов
/ 12 декабря 2010

Да, вы можете получить доступ к полям и методам класса, используя Reflection API . Но если ваша цель - только чтение XML-файла, не изобретайте колесо - просто используйте существующую библиотеку, например JAXB .

1 голос
/ 12 декабря 2010

Существует много картографических утилит POJO-XML.XML-компоненты Apache и Sun JAXB являются двумя общими.

Вот учебник по XMLBeans: http://xmlbeans.apache.org/documentation/tutorial_getstarted.html

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