xmldocumentbuilder.java

来自「jgap3.2 遗传算法工具包,嘿嘿,笨鸟先飞哦」· Java 代码 · 共 67 行

JAVA
67
字号
/*
 * This file is part of JGAP.
 *
 * JGAP offers a dual license model containing the LGPL as well as the MPL.
 *
 * For licencing information please see the file license.txt included with JGAP
 * or have a look at the top of class org.jgap.Chromosome which representatively
 * includes the JGAP license policy applicable for any file delivered with JGAP.
 */
package org.jgap.xml;

import org.jgap.data.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;

/**
 * Class building an XML file. Can be used to persist objects like Genotype,
 * Chromosome or Gene (or a list of them) to an XML file.
 *
 * @author Klaus Meffert
 * @since 2.0
 */
public class XMLDocumentBuilder
    extends DocumentBuilderBase {
  /** String containing the CVS revision. Read out via reflection!*/
  private final static String CVS_REVISION = "$Revision: 1.8 $";

  protected void setAttribute(final Object a_xmlElement, final String a_key,
                              final String a_value) {
    ( (Element) a_xmlElement).setAttribute(a_key, a_value);
  }

  protected Object documentAppendChild(final Object a_xmlDocument,
                                       final Object a_element) {
    return ( (Document) a_xmlDocument).appendChild( (Element) a_element);
  }

  protected Object elementAppendChild(final Object a_xmlElement,
                                      final Object a_element) {
    return ( (Element) a_xmlElement).appendChild( (Element) a_element);
  }

  protected Object createElement(final Object a_doc, final Object a_xmlElement,
                                 final String a_tagName) {
    return ( (Document) a_doc).createElement(a_tagName);
  }

  /**
   * Convenience method to build an XML document from a generic input structure
   * (of type IDataCreators)
   * @param a_document the input structure holding the data to be represented
   * as XML document
   * @throws Exception
   * @return Object the XML document
   *
   * @author Klaus Meffert
   * @since 2.0
   */
  public Object buildDocument(final IDataCreators a_document)
      throws Exception {
    DocumentBuilder m_documentCreator = DocumentBuilderFactory.newInstance().
        newDocumentBuilder();
    Document xmlDoc = m_documentCreator.newDocument();
    return super.buildDocument(a_document, xmlDoc);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?