org.apache.solr.common.util.XML.writeXML()方法的使用及代码示例

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

本文整理了Java中org.apache.solr.common.util.XML.writeXML()方法的一些代码示例,展示了XML.writeXML()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XML.writeXML()方法的具体详情如下:
包路径:org.apache.solr.common.util.XML
类名称:XML
方法名:writeXML

XML.writeXML介绍

[英]escapes character data in val
[中]转义val中的字符数据

代码示例

代码示例来源:origin: org.apache.solr/solr-solrj

/** does NOT escape character data in val; it must already be valid XML.  Attributes are always escaped. */
public final static void writeUnescapedXML(Writer out, String tag, String val, Object... attrs) throws IOException {
 writeXML(out, tag, (writer1) -> writer1.write(val), attrs);
}

代码示例来源:origin: org.apache.solr/solr-solrj

/** escapes character data in val and attributes */
public static void writeXML(Writer out, String tag, String val, Map<String, String> attrs) throws IOException {
 writeXML(out, tag, val, attrs.entrySet().stream().flatMap((entry) -> Stream.of(entry.getKey(), entry.getValue())).toArray());
}

代码示例来源:origin: org.apache.solr/solr-test-framework

public static String simpleTag(String tag, String... args) {
 try {
  StringWriter writer = new StringWriter();
  XML.writeXML(writer, tag, (String) null, (Object[])args);
  return writer.getBuffer().toString();
 } catch (IOException e) {
  throw new RuntimeException
    ("this should never happen with a StringWriter", e);
 }
}

代码示例来源:origin: org.dspace.dependencies.solr/dspace-solr-core

private static String simpleTag(String tag, String... args) {
 try {
  StringWriter r = new StringWriter();
  // this is annoying
  if (null == args || 0 == args.length) {
   XML.writeXML(r, tag, null);
  } else {
   XML.writeXML(r, tag, null, (Object[])args);
  }
  return r.getBuffer().toString();
 } catch (IOException e) {
  throw new RuntimeException
   ("this should never happen with a StringWriter", e);
 }
}

代码示例来源:origin: org.dspace.dependencies.solr/dspace-solr-core

/**
 * Generates a delete xml string
 * @param val text that has not already been xml escaped
 */
private static String delete(String deltype, String val) {
 try {
  StringWriter r = new StringWriter();
     
  r.write("<delete>");
  XML.writeXML(r, deltype, val);
  r.write("</delete>");
     
  return r.getBuffer().toString();
 } catch (IOException e) {
  throw new RuntimeException
   ("this should never happen with a StringWriter", e);
 }
}

代码示例来源:origin: org.apache.solr/solr-solrj

/** escapes character data in val and attributes */
public final static void writeXML(Writer out, String tag, String val, Object... attrs) throws IOException {
 final Writable writable = val != null ? (writer1) -> XML.escapeCharData(val, writer1) : null;
 writeXML(out, tag, writable, attrs);
}

代码示例来源:origin: org.apache.solr/solr-test-framework

/**
 * A helper that creates an xml &lt;doc&gt; containing all of the
 * fields and values specified
 *
 * @param fieldsAndValues 0 and Even numbered args are fields names odds are field values.
 */
public static String makeSimpleDoc(String... fieldsAndValues) {
 try {
  StringWriter w = new StringWriter();
  w.append("<doc>");
  for (int i = 0; i < fieldsAndValues.length; i+=2) {
   XML.writeXML(w, "field", fieldsAndValues[i + 1], "name",
     fieldsAndValues[i]);
  }
  w.append("</doc>");
  return w.toString();
 } catch (IOException e) {
  throw new RuntimeException
    ("this should never happen with a StringWriter", e);
 }
}

代码示例来源:origin: org.dspace.dependencies.solr/dspace-solr-core

/**
 * A helper that creates an xml &lt;doc&gt; containing all of the
 * fields and values specified
 *
 * @param fieldsAndValues 0 and Even numbered args are fields names odds are field values.
 */
public static StringBuffer makeSimpleDoc(String... fieldsAndValues) {
 try {
  StringWriter w = new StringWriter();
  w.append("<doc>");
  for (int i = 0; i < fieldsAndValues.length; i+=2) {
   XML.writeXML(w, "field", fieldsAndValues[i+1], "name",
          fieldsAndValues[i]);
  }
  w.append("</doc>");
  return w.getBuffer();
 } catch (IOException e) {
  throw new RuntimeException
   ("this should never happen with a StringWriter", e);
 }
}

代码示例来源:origin: org.apache.solr/solr-test-framework

/**
 * Generates a delete by id xml string
 * @param id ID that has not already been xml escaped
 * @param args The attributes of the delete tag
 */
public static String deleteById(String id, String... args) {
 try {
  StringWriter r = new StringWriter();
  XML.writeXML(r, "id", id);
  return delete(r.getBuffer().toString(), args);
 } catch(IOException e) {
  throw new RuntimeException
    ("this should never happen with a StringWriter", e);
 }
}

代码示例来源:origin: org.apache.solr/solr-test-framework

/**
 * Generates a delete by query xml string
 * @param q Query that has not already been xml escaped
 * @param args The attributes of the delete tag
 */
public static String deleteByQuery(String q, String... args) {
 try {
  StringWriter r = new StringWriter();
  XML.writeXML(r, "query", q);
  return delete(r.getBuffer().toString(), args);
 } catch(IOException e) {
  throw new RuntimeException
    ("this should never happen with a StringWriter", e);
 }
}

代码示例来源:origin: com.hynnet/solr-solrj

private static void writeVal(Writer writer, float boost, String name, Object v, String update) throws IOException {
 if (v instanceof Date) {
  v = DateUtil.getThreadLocalDateFormat().format( (Date)v );
 } else if (v instanceof byte[]) {
  byte[] bytes = (byte[]) v;
  v = Base64.byteArrayToBase64(bytes, 0, bytes.length);
 } else if (v instanceof ByteBuffer) {
  ByteBuffer bytes = (ByteBuffer) v;
  v = Base64.byteArrayToBase64(bytes.array(), bytes.position(),bytes.limit() - bytes.position());
 }
 if (update == null) {
  if( boost != 1.0f ) {
   XML.writeXML(writer, "field", v.toString(), "name", name, "boost", boost);
  } else if (v != null) {
   XML.writeXML(writer, "field", v.toString(), "name", name );
  }
 } else {
  if( boost != 1.0f ) {
   XML.writeXML(writer, "field", v.toString(), "name", name, "boost", boost, "update", update);
  } else {
   if (v == null)  {
    XML.writeXML(writer, "field", null, "name", name, "update", update, "null", true);
   } else  {
    XML.writeXML(writer, "field", v.toString(), "name", name, "update", update);
   }
  }
 }
}

代码示例来源:origin: org.apache.solr/solr-solrj

private static void writeVal(Writer writer, String name, Object v, String update) throws IOException {
 if (v instanceof Date) {
  v = ((Date)v).toInstant().toString();
 } else if (v instanceof byte[]) {
  byte[] bytes = (byte[]) v;
  v = Base64.byteArrayToBase64(bytes, 0, bytes.length);
 } else if (v instanceof ByteBuffer) {
  ByteBuffer bytes = (ByteBuffer) v;
  v = Base64.byteArrayToBase64(bytes.array(), bytes.position(),bytes.limit() - bytes.position());
 }
 XML.Writable valWriter = null;
 if(v instanceof SolrInputDocument) {
  final SolrInputDocument solrDoc = (SolrInputDocument) v;
  valWriter = (writer1) -> writeXML(solrDoc, writer1);
 } else if(v != null) {
  final Object val = v;
  valWriter = (writer1) -> XML.escapeCharData(val.toString(), writer1);
 }
 if (update == null) {
  if (v != null) {
   XML.writeXML(writer, "field", valWriter, "name", name);
  }
 } else {
  if (v == null)  {
   XML.writeXML(writer, "field", (XML.Writable) null, "name", name, "update", update, "null", true);
  } else  {
   XML.writeXML(writer, "field", valWriter, "name", name, "update", update);
  }
 }
}

代码示例来源:origin: org.dspace.dependencies.solr/dspace-solr-solrj

public static void writeXML( SolrInputDocument doc, Writer writer ) throws IOException
{
 writer.write("<doc boost=\""+doc.getDocumentBoost()+"\">");
 for( SolrInputField field : doc ) {
  float boost = field.getBoost();
  String name = field.getName();
  for( Object v : field ) {
   if (v instanceof Date) {
    v = DateUtil.getThreadLocalDateFormat().format( (Date)v );
   }else if (v instanceof byte[]) {
    byte[] bytes = (byte[]) v;
    v = Base64.byteArrayToBase64(bytes, 0,bytes.length);
   } else if (v instanceof ByteBuffer) {
    ByteBuffer bytes = (ByteBuffer) v;
    v = Base64.byteArrayToBase64(bytes.array(), bytes.position(),bytes.limit() - bytes.position());
   }
   if( boost != 1.0f ) {
    XML.writeXML(writer, "field", v.toString(), "name", name, "boost", boost );
   } else if (v != null) {
    XML.writeXML(writer, "field", v.toString(), "name", name );
   }
   // only write the boost for the first multi-valued field
   // otherwise, the used boost is the product of all the boost values
   boost = 1.0f;
  }
 }
 writer.write("</doc>");
}

代码示例来源:origin: org.dspace.dependencies.solr/dspace-solr-core

try {
 SolrException.logOnce(log, "Error processing \"legacy\" update command", ex);
 XML.writeXML(output, "result", SolrException.toStr(ex), "status", "1");
} catch (Exception ee) {
 log.error("Error writing to output stream: " + ee);

相关文章