|
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