org.apache.sis.xml.XML类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(13.0k)|赞(0)|评价(0)|浏览(201)

本文整理了Java中org.apache.sis.xml.XML类的一些代码示例,展示了XML类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XML类的具体详情如下:
包路径:org.apache.sis.xml.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;
}

相关文章