Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел описывает Основные примеры JAXB (Измените, Упорядочивают, Неупорядочивают, Проверяют), которые демонстрируют как к:
Изменение Упорядочивает пример, демонстрирует, как изменить дерево контента Java.
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.*;
JAXBContext jc = JAXBContext.newInstance( "primer.po" );
Unmarshaller u = jc.createUnmarshaller(); PurchaseOrder po = (PurchaseOrder) u.unmarshal(new FileInputStream("po.xml"));
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"));
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 обеспечивает функции для проверки допустимости во время немаршалинга, но не во время маршалинга. В проверке допустимости объясняют более подробно Больше О Проверке допустимости.
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.*;
JAXBContext jc = JAXBContext.newInstance("primer.po");
Unmarshaller u = jc.createUnmarshaller();
u.setValidating( true );
PurchaseOrder po = (PurchaseOrder)u.unmarshal( new FileInputStream("po.xml"));
} 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