Spec-Zone .ru
спецификации, руководства, описания, API
След: Архитектура Java для XML, Связывающего (JAXB)
Урок: Введение в JAXB
Основные Примеры
Домашняя страница > Архитектура Java для XML, Связывающего (JAXB) > Введение в JAXB

Основные Примеры

Этот раздел описывает Основные примеры JAXB (Измените, Упорядочивают, Неупорядочивают, Проверяют), которые демонстрируют как к:

Измените Упорядочивают Пример

Изменение Упорядочивает пример, демонстрирует, как изменить дерево контента Java.

  1. jaxb-ri-install/samples/modify-marshal/src/Main.java class объявляет импорт трех стандартных классов Java, пять JAXB обязательные классы платформы и пакет primer.po:
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.math.BigDecimal;
    
    import javax.xml.bind.JAXBContext;
    import javax.xml.bind.JAXBElement;
    import javax.xml.bind.JAXBException;
    import javax.xml.bind.Marshaller;
    import javax.xml.bind.Unmarshaller;
    
    import primer.po.*;
    
  2. Экземпляр JAXBContext создается для того, чтобы обработать классы, сгенерированные в primer.po.
    	
    JAXBContext jc = JAXBContext.newInstance( "primer.po" );
    
  3. Экземпляр Unmarshaller создается, и файл po.xml неупорядочивается.
    Unmarshaller u = jc.createUnmarshaller();
    PurchaseOrder po = (PurchaseOrder)
        u.unmarshal(new FileInputStream("po.xml"));
    
  4. Методы set используются, чтобы изменить информацию в ответвлении address дерева контента.
    USAddress address = po.getBillTo();
    address.setName("John Bob");
    address.setStreet("242 Main Street");
    address.setCity("Beverly Hills");
    address.setState("CA");
    address.setZip(new BigDecimal
    address.setName("John Bob");
    address.setStreet("242 Main Street");
    address.setCity("Beverly Hills");
    address.setState("CA");
    address.setZip(new BigDecimal("90210"));
    
  5. Экземпляр Marshaller создается, и обновленный контент XML упорядочивается к system.out. API setProperty используется, чтобы определить выходное кодирование; в этом случае это форматируется (удобочитаемый) XML.
    Marshaller m = jc.createMarshaller();
    m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
    m.marshal(po, System.out);
    

Создание и Выполнение Изменения Упорядочивают Пример Используя Муравья

Чтобы скомпилировать и выполнить Изменение Упорядочивают пример, используя Муравья, в окне терминала, пойдите в jaxb-ri-install/samples/modify-marshal/ каталог и введите следующее:

ant

Неупорядочьте Проверяют Примера

Неупорядочивание Проверяет примера, демонстрирует, как включить проверке допустимости во время немаршалинга. Отметьте, что JAXB обеспечивает функции для проверки допустимости во время немаршалинга, но не во время маршалинга. В проверке допустимости объясняют более подробно Больше О Проверке допустимости.

  1. jaxb-ri-install/samples/unmarshal-validate/src/Main.java class объявляет импорт для одного стандартного Java class, одиннадцать JAXB обязательные классы платформы, и пакет primer.po:
    import java.io.File;
    
    import javax.xml.bind.JAXBContext;
    import javax.xml.bind.JAXBException;
    import javax.xml.bind.Marshaller;
    import javax.xml.bind.UnmarshalException;
    import javax.xml.bind.Unmarshaller;
    import javax.xml.bind.ValidationEvent;
    import javax.xml.bind.ValidationEventHandler;
    import javax.xml.bind.ValidationEventLocator;
    
    import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
    import javax.xml.validation.SchemaFactory;
    import javax.xml.validation.Schema;
    
    import primer.po.*;
    
  2. Экземпляр JAXBContext создается для того, чтобы обработать классы, сгенерированные в пакете primer.po.
    JAXBContext jc = JAXBContext.newInstance("primer.po");
    
  3. Экземпляр Unmarshaller создается.
    Unmarshaller u = jc.createUnmarshaller();
    
  4. Значению по умолчанию JAXB Unmarshaller ValidationEventHandler позволяют отправить предупреждения проверки допустимости и ошибки к system.out. Конфигурация значения по умолчанию заставляет неупорядочивать работу перестать работать после обнаружения с первой ошибкой проверки допустимости.
    u.setValidating( true );
    
  5. Попытка предпринимается, чтобы неупорядочить файл po.xml в дерево контента Java. В целях этого примера файл po.xml содержит преднамеренную ошибку.
    PurchaseOrder po = (PurchaseOrder)u.unmarshal(
        new FileInputStream("po.xml"));
    
  6. Обработчик событий проверки допустимости значения по умолчанию обрабатывает ошибку проверки допустимости, генерирует вывод к system.out, и затем исключение выдается.
    } catch( UnmarshalException ue ) {
        System.out.println("Caught UnmarshalException");
    } catch( JAXBException je ) { 
        je.printStackTrace();
    } catch( IOException ioe ) {
        ioe.printStackTrace();
    }
    

Создание и Выполнение Неупорядочивания Проверяют Примера Используя Муравья

Чтобы скомпилировать и выполнить Неупорядочивание Проверяют примера, используя Муравья, в окне терминала, пойдите в jaxb-ri-install/samples/unmarshal-validate/ каталог и введите следующее:

ant 

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Примеры JAXB
Следующая страница: Настройка Привязка JAXB