本文整理了Java中org.apache.sis.xml.XML
类的一些代码示例,展示了XML
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XML
类的具体详情如下:
包路径:org.apache.sis.xml.XML
类名称:XML
[英]Provides convenience methods for marshalling and unmarshalling SIS objects. Marshalling operations use the standard versions listed below (for marshalling a document in a different version, see MarshallerPool). Unmarshalling detects the version automatically. Versions of standards applied at marshalling timeTopicSIS 0.3 to 0.8SIS 1.0RemarksMetadataISO 19139:2007ISO 19115-3:2016ReferencingISO 19136:2007ISO 19136:2007Same as GML 3.2 This class defines also some property keys that can be given to the Marshallerand Unmarshaller instances created by MarshallerPool: Supported (un)marshaller propertiesKeyValue typePurpose#LOCALELocalefor specifying the locale to use for international strings and code lists.#TIMEZONETimeZonefor specifying the timezone to use for dates and times.#SCHEMASMapfor specifying the root URL of metadata schemas to use.#DEFAULT_NAMESPACEStringfor specifying the default namespace of the XML document to write.#GML_VERSIONVersionfor specifying the GML version of the document to be (un)marshalled.#METADATA_VERSIONVersionfor specifying the metadata version of the document to be (un)marshalled.#RESOLVERReferenceResolverfor replacing xlink or uuidref attributes by the actual object to use.#CONVERTERValueConverterfor controlling the conversion of URL, UUID, Units or similar objects.#STRING_SUBSTITUTESString[]for specifying which code lists to replace by simpler elements.#WARNING_LISTENERWarningListenerfor being notified about non-fatal warnings.
[中]为编组和解编组SIS对象提供了方便的方法。编组操作使用下面列出的标准版本(有关以不同版本编组文档,请参阅MarshallerPool)。解组自动检测版本。编组时间应用的标准版本为0.3到0.8SIS 1.0Remarks元数据ISO 19139:2007ISO 19115-3:2016ReferenceGiso 19136:2007ISO 19136:2007与GML 3.2相同,此类还定义了一些属性键,这些属性键可以提供给MarshallerPool:Supported(un)marshaller创建的marshaller和Unmarshaller实例Properties KeyValue typePurpose#LocaleCale用于指定用于国际字符串和代码列表的区域设置#TimeZoneTimeZone用于指定日期和时间的时区#SchemaMap用于指定要使用的元数据架构的根URL#DEFAULT_namespaceString用于指定要写入的XML文档的默认名称空间#GML_versionversion用于指定要(取消)封送的文档的GML版本#METADATA_versionVersion用于指定要(取消)封送的文档的元数据版本#ResolderReferenceResolver,用于将xlink或uuidref属性替换为要使用的实际对象#ConverterValueConverter用于控制URL、UUID、单位或类似对象的转换#STRING_substituteString[]用于指定哪些代码列表要替换为更简单的元素#警告\u Listener警告Listener收到非致命警告的通知。
代码示例来源:origin: apache/sis
/**
* Unmarshals the given object while listening to warnings.
*/
public DefaultBrowseGraphic unmarshal(final String xml) throws JAXBException {
return (DefaultBrowseGraphic) XML.unmarshal(new StreamSource(new StringReader(xml)),
singletonMap(XML.WARNING_LISTENER, this));
}
}
代码示例来源:origin: org.apache.sis.core/sis-utility
/**
* Marshal the given object into a string.
*
* @param object the root of content tree to be marshalled.
* @return the XML representation of the given object.
* @throws JAXBException if an error occurred during the marshalling.
*/
public static String marshal(final Object object) throws JAXBException {
ensureNonNull("object", object);
final StringWriter output = new StringWriter();
final MarshallerPool pool = getPool();
final Marshaller marshaller = pool.acquireMarshaller();
marshaller.marshal(object, output);
pool.recycle(marshaller);
return output.toString();
}
代码示例来源:origin: apache/sis
/**
* Tests (un)marshalling of an operation method.
*
* @throws JAXBException if an error occurred during marshalling or unmarshalling.
*/
@Test
public void testOperationMethod() throws JAXBException {
final String xml = XML.marshal(createMercatorMethod());
assertXmlEquals("<gml:OperationMethod xmlns:gml=\"" + Namespaces.GML + "\">\n" +
" <gml:name>Mercator (1SP)</gml:name>\n" +
" <gml:formula>See EPSG guide.</gml:formula>\n" +
" <gml:sourceDimensions>2</gml:sourceDimensions>\n" +
" <gml:targetDimensions>2</gml:targetDimensions>\n" +
" <gml:parameter>\n" +
" <gml:OperationParameter gml:id=\"epsg-parameter-8801\">\n" +
" <gml:identifier codeSpace=\"IOGP\">urn:ogc:def:parameter:EPSG::8801</gml:identifier>\n" +
" <gml:name codeSpace=\"EPSG\">Latitude of natural origin</gml:name>\n" +
" </gml:OperationParameter>\n" +
" </gml:parameter>\n" +
" <gml:parameter>\n" +
" <gml:OperationParameter gml:id=\"epsg-parameter-8802\">\n" +
" <gml:identifier codeSpace=\"IOGP\">urn:ogc:def:parameter:EPSG::8802</gml:identifier>\n" +
" <gml:name codeSpace=\"EPSG\">Longitude of natural origin</gml:name>\n" +
" </gml:OperationParameter>\n" +
" </gml:parameter>\n" +
"</gml:OperationMethod>", xml, "xmlns:*");
final OperationMethod method = (OperationMethod) XML.unmarshal(xml);
verifyMethod(method);
Validators.validate(method);
}
代码示例来源:origin: apache/sis
final String xml = XML.marshal(data);
代码示例来源:origin: apache/sis
final Citation citation = (Citation) XML.unmarshal(IDENTIFIED_XML);
assertTitleEquals("Citation", "My data", citation);
final String actual = XML.marshal(citation);
assertXmlEquals(IDENTIFIED_XML, actual, "xmlns:*");
assertEquals(citation, XML.unmarshal(actual));
代码示例来源:origin: apache/sis
final DefaultMetadata data = new DefaultMetadata();
data.setIdentificationInfo(singleton(identification));
final String xml = XML.marshal(data);
代码示例来源:origin: apache/sis
@DependsOnMethod("testReference")
public void testReferenceInEmptyObject() throws JAXBException {
final Citation citation = (Citation) XML.unmarshal(REFERENCED_XML);
assertTitleEquals("Citation.title", "My data", citation);
final String actual = XML.marshal(citation);
assertXmlEquals(REFERENCED_XML, actual, "xmlns:*");
assertEquals(citation, XML.unmarshal(actual));
代码示例来源:origin: apache/sis
/**
* Marshal the given object into a string.
*
* @param object the root of content tree to be marshalled.
* @return the XML representation of the given object.
* @throws JAXBException if an error occurred during the marshalling.
*/
public static String marshal(final Object object) throws JAXBException {
ensureNonNull("object", object);
final StringWriter output = new StringWriter();
final MarshallerPool pool = getPool();
final Marshaller marshaller = pool.acquireMarshaller();
marshaller.marshal(object, output);
pool.recycle(marshaller);
return output.toString();
}
代码示例来源:origin: org.apache.sis.core/sis-referencing
final Object object;
try {
object = XML.unmarshal(xml);
} catch (JAXBException e) {
代码示例来源:origin: apache/sis
final Citation citation = (Citation) XML.unmarshal(REFERENCED_XML_WITH_BODY);
assertTitleEquals("Citation.title", "My data", citation);
final String actual = XML.marshal(citation);
assertXmlEquals(IDENTIFIED_XML, actual, "xmlns:*");
assertEquals(citation, XML.unmarshal(actual));
代码示例来源:origin: org.apache.sis.core/sis-utility
/**
* Unmarshal an object from the given file.
*
* @param input the file from which to read a XML representation.
* @return the object unmarshalled from the given input.
* @throws JAXBException if an error occurred during the unmarshalling.
*/
public static Object unmarshal(final File input) throws JAXBException {
ensureNonNull("input", input);
final MarshallerPool pool = getPool();
final Unmarshaller unmarshaller = pool.acquireUnmarshaller();
final Object object = unmarshaller.unmarshal(input);
pool.recycle(unmarshaller);
return object;
}
代码示例来源:origin: apache/sis
final Object object;
try {
object = XML.unmarshal(xml);
} catch (JAXBException e) {
代码示例来源:origin: apache/sis
/**
* Tests (un)marshalling of a parameter descriptor.
*
* @throws JAXBException if an error occurred during marshalling or unmarshalling.
*/
@Test
public void testDescriptor() throws JAXBException {
final DefaultParameterDescriptor<Double> descriptor = new DefaultParameterDescriptor<>(
Collections.singletonMap(DefaultParameterDescriptor.NAME_KEY, "A descriptor"),
0, 1, Double.class, null, null, null);
final String xml = XML.marshal(descriptor);
assertXmlEquals(
"<gml:OperationParameter xmlns:gml=\"" + Namespaces.GML + "\">\n"
+ " <gml:name>A descriptor</gml:name>\n"
+ " <gml:minimumOccurs>0</gml:minimumOccurs>\n"
+ "</gml:OperationParameter>", xml, "xmlns:*");
final DefaultParameterDescriptor<?> r = (DefaultParameterDescriptor<?>) XML.unmarshal(xml);
assertEquals("name", "A descriptor", r.getName().getCode());
assertEquals("minimumOccurs", 0, r.getMinimumOccurs());
assertEquals("maximumOccurs", 1, r.getMaximumOccurs());
/*
* A DefaultParameterDescriptor with null 'valueClass' is illegal, but there is no way we can guess
* this information if the <gml:OperationParameter> element was not a child of <gml:ParameterValue>.
* The current implementation leaves 'valueClass' to null despite being illegal. This behavior may
* change in any future Apache SIS version.
*/
assertNull("valueDomain", r.getValueDomain());
assertNull("valueClass", r.getValueClass()); // May change in any future SIS release.
}
代码示例来源:origin: apache/sis
/**
* Unmarshal an object from the given string.
* Note that the given argument is the XML document itself,
* <strong>not</strong> a URL to a XML document.
*
* @param xml the XML representation of an object.
* @return the object unmarshalled from the given input.
* @throws JAXBException if an error occurred during the unmarshalling.
*/
public static Object unmarshal(final String xml) throws JAXBException {
ensureNonNull("input", xml);
final StringReader in = new StringReader(xml);
final MarshallerPool pool = getPool();
final Unmarshaller unmarshaller = pool.acquireUnmarshaller();
final Object object = unmarshaller.unmarshal(in);
pool.recycle(unmarshaller);
return object;
}
代码示例来源:origin: org.apache.sis.storage/sis-storage
/**
* Unmarshal the object, if not already done. Note that {@link #object} may still be null
* if an exception has been thrown at this invocation time or in previous invocation.
*
* @throws DataStoreException if an error occurred during the unmarshalling process.
*/
private void unmarshal() throws DataStoreException {
final StreamSource s = source;
final Closeable in = input(s);
source = null; // Cleared first in case of error.
if (in != null) try {
try {
object = XML.unmarshal(s, properties());
} finally {
in.close();
}
} catch (JAXBException | IOException e) {
throw new DataStoreException(Errors.format(Errors.Keys.CanNotRead_1, getDisplayName()), e);
}
if (object instanceof CoordinateReferenceSystem) try {
final DefinitionVerifier v = DefinitionVerifier.withAuthority((CoordinateReferenceSystem) object, null, false);
if (v != null) {
log(v.warning(false));
}
} catch (FactoryException e) {
listeners.warning(null, e);
}
}
代码示例来源:origin: apache/sis
throws JAXBException
final String xml = XML.marshal(parameter);
assertXmlEquals(expected, xml, "xmlns:*");
final DefaultParameterValue<?> r = (DefaultParameterValue<?>) XML.unmarshal(xml);
if (!Objects.deepEquals(parameter.getValue(), r.getValue())) {
代码示例来源:origin: org.apache.sis.core/sis-utility
/**
* Unmarshal an object from the given string.
* Note that the given argument is the XML document itself,
* <strong>not</strong> a URL to a XML document.
*
* @param xml the XML representation of an object.
* @return the object unmarshalled from the given input.
* @throws JAXBException if an error occurred during the unmarshalling.
*/
public static Object unmarshal(final String xml) throws JAXBException {
ensureNonNull("input", xml);
final StringReader in = new StringReader(xml);
final MarshallerPool pool = getPool();
final Unmarshaller unmarshaller = pool.acquireUnmarshaller();
final Object object = unmarshaller.unmarshal(in);
pool.recycle(unmarshaller);
return object;
}
代码示例来源:origin: apache/sis
/**
* Unmarshal the object, if not already done. Note that {@link #object} may still be null
* if an exception has been thrown at this invocation time or in previous invocation.
*
* @throws DataStoreException if an error occurred during the unmarshalling process.
*/
private void unmarshal() throws DataStoreException {
final StreamSource s = source;
final Closeable in = input(s);
source = null; // Cleared first in case of error.
if (in != null) try {
try {
object = XML.unmarshal(s, properties());
} finally {
in.close();
}
} catch (JAXBException | IOException e) {
throw new DataStoreException(Errors.format(Errors.Keys.CanNotRead_1, getDisplayName()), e);
}
if (object instanceof CoordinateReferenceSystem) try {
final DefinitionVerifier v = DefinitionVerifier.withAuthority((CoordinateReferenceSystem) object, null, false);
if (v != null) {
log(v.warning(false));
}
} catch (FactoryException e) {
listeners.warning(null, e);
}
}
代码示例来源:origin: org.apache.sis.core/sis-utility
/**
* Unmarshal an object from the given stream.
*
* @param input the stream from which to read a XML representation.
* @return the object unmarshalled from the given input.
* @throws JAXBException if an error occurred during the unmarshalling.
*/
public static Object unmarshal(final InputStream input) throws JAXBException {
ensureNonNull("input", input);
final MarshallerPool pool = getPool();
final Unmarshaller unmarshaller = pool.acquireUnmarshaller();
final Object object = unmarshaller.unmarshal(input);
pool.recycle(unmarshaller);
return object;
}
代码示例来源:origin: org.apache.sis.core/sis-utility
/**
* Unmarshal an object from the given URL.
*
* @param input the URL from which to read a XML representation.
* @return the object unmarshalled from the given input.
* @throws JAXBException if an error occurred during the unmarshalling.
*/
public static Object unmarshal(final URL input) throws JAXBException {
ensureNonNull("input", input);
final MarshallerPool pool = getPool();
final Unmarshaller unmarshaller = pool.acquireUnmarshaller();
final Object object = unmarshaller.unmarshal(input);
pool.recycle(unmarshaller);
return object;
}
内容来源于网络,如有侵权,请联系作者删除!