Какова лучшая практика в преобразовании XML в объект Java?

Другие ответы уже описывают, как вы можете перейти в полноэкранный режим более или менее независимым от браузера способом. Однако проблема взаимодействия с пользователем остается.


Вы не можете заставить свою веб-страницу отображаться в полноэкранном режиме по соображениям безопасности. Для этого требуется взаимодействие с пользователем.

Кроме того, браузер покидает полноэкранный режим, когда пользователь переходит на другую страницу, даже на том же веб-сайте, и (ей) ему придется выполнять «взаимодействие с пользователем» на каждой странице чтобы вернуться в полноэкранный режим. Вот почему ваш сайт должен быть одной страницей, если вы хотите, чтобы он был полноэкранным.


Вот что я предлагаю: используйте одну страницу всплеска, у которой есть скрытый iFrame на нем.

Всякий раз, когда пользователь щелкает в любом месте или нажимает любую клавишу, просто установите этот iFrame в полноэкранный режим и покажите его. Когда вы получаете событие при выходе из полноэкранного режима, снова скройте iFrame, чтобы отобразить всплеск.

Ссылки открываются в том же кадре по умолчанию, поэтому вы останетесь в полноэкранном режиме, пока пользователь явно не покинет его или некоторые ссылки не откроются новая вкладка.

Вот пример, который работает в Chrome: ( См. его в действии. Используйте другие ответы, чтобы сделать его независимым от браузера.)



    


    

Click anywhere or press any key to browse w3schools in fullscreen.


PS Мне нравится ссылка, предоставленная @jsve выше, и это еще лучше: изменить вашу ОС :). Кроме того, я не веб-разработчик. Просто подумал, что этот вопрос будет интересен для исследования.

13
задан John Munsch 13 May 2010 в 08:44
поделиться

9 ответов

Взгляните на XStream . Возможно, это не самый быстрый, но это один из самых удобных и простых преобразователей в Java, особенно если ваша модель несложная.

10
ответ дан 1 December 2019 в 19:39
поделиться

Я тоже использовал XStream, он прост в использовании и настраивается. Вы можете добавить свои собственные преобразователи, и это было очень удобно для меня ...

0
ответ дан 1 December 2019 в 19:39
поделиться
​​

Я использовал и буду использовать JDOM -> www.jdom.org

3
ответ дан 1 December 2019 в 19:39
поделиться

Я использовал JIBX в модуле MQ. Работает очень хорошо. Конфигурация Ant проста. Использовал конвертер Xsd2Jibx для генерации файлов привязки и Java-бинов из XML-схемы. Маршаллинг и демаршаллинг позволяют указать параметр набора символов. В моем проекте было полезно обрабатывать настраиваемый набор символов. Но я обнаружил проблему в компиляторе привязки. Если Java-компонент имеет более длинное имя пути, он генерирует файл класса с более длинным именем файла, что вызовет проблемы в Windows XP (у него есть ограничение на максимальную длину файла).

Я не использовал другие API. Поэтому я не пытаюсь сравнивать с другими. Если вы решили использовать JIBX, надеюсь, это будет полезно.

Подробнее см. веб-сайт JIBX

1
ответ дан 1 December 2019 в 19:39
поделиться

Так удивлено, что все больше людей не упомянули Jibx. Удивительная библиотека, и я думаю, что ее намного проще использовать, чем Jaxb. Производительность тоже потрясающая!

0
ответ дан 1 December 2019 в 19:39
поделиться

Для проекта JMS мы выполняли маршаллинг и размаршаллинг (переходя от java к xml и от xml к java) XML, встроенного в TextMessages (свойство string). Мы попробовали JAXB, Jibx и XMLBeans. Мы обнаружили, что XMLBeans работает лучше всего. Быстрый, легко настраиваемый, хорошая документация и простая интеграция с Maven.

4
ответ дан 1 December 2019 в 19:39
поделиться

JAXB - стандартный API для этого: http://java.sun.com/developer/technicalArticles/WebServices/jaxb/

12
ответ дан 1 December 2019 в 19:39
поделиться

Другой вариант - синтаксический анализатор Sax. Это процедурный, то есть шаблон посетителя, но если xml довольно легкий (и даже средний вес), я обнаружил, что он очень полезен для этого.

2
ответ дан 1 December 2019 в 19:39
поделиться

JAXB API, который поставляется в Java (Встроенный).

2
ответ дан 1 December 2019 в 19:39
поделиться
Другие вопросы по тегам:

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