org.apache.solr.common.util.XML类的使用及代码示例

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

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

XML介绍

暂无

代码示例

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

public void writeAttr(String name, String val) throws IOException {
 if (val != null) {
  writer.write(' ');
  writer.write(name);
  writer.write("=\"");
  XML.escapeAttributeValue(val, writer);
  writer.write('"');
 }
}

代码示例来源: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: com.hynnet/solr-solrj

/*********
 *
 * @throws IOException If there is a low-level I/O error.
 */
 public static void escapeCharData(String str, Writer out) throws IOException {
  escape(str, out, chardata_escapes);
 }

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

/** escapes character data in val */
public static void writeXML(Writer out, String tag, String val, Map<String, String> attrs) throws IOException {
 out.write('<');
 out.write(tag);
 for (Map.Entry<String, String> entry : attrs.entrySet()) {
  out.write(' ');
  out.write(entry.getKey());
  out.write('=');
  out.write('"');
  escapeAttributeValue(entry.getValue(), out);
  out.write('"');
 }
 if (val == null) {
  out.write('/');
  out.write('>');
 } else {
  out.write('>');
  escapeCharData(val,out);
  out.write('<');
  out.write('/');
  out.write(tag);
  out.write('>');
 }
}

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

public final static void writeXML(Writer out, String tag, String val) throws IOException {
 out.write('<');
 out.write(tag);
 if (val == null) {
  out.write('/');
  out.write('>');
 } else {
  out.write('>');
  escapeCharData(val,out);
  out.write('<');
  out.write('/');
  out.write(tag);
  out.write('>');
 }
}

代码示例来源: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-test-framework

/**
 * Generates a delete xml string
 * @param val text that has not already been xml escaped
 * @param args 0 and Even numbered args are params, Odd numbered args are XML escaped values.
 */
private static String delete(String val, String... args) {
 try {
  StringWriter r = new StringWriter();
  XML.writeUnescapedXML(r, "delete", val, (Object[]) args);
  return r.getBuffer().toString();
 } catch(IOException e) {
  throw new RuntimeException
    ("this should never happen with a StringWriter", e);
 }
}

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

/** escapes character data in val */
public final static void writeXML(Writer out, String tag, String val, Object... attrs) throws IOException {
 out.write('<');
 out.write(tag);
 for (int i=0; i<attrs.length; i++) {
  out.write(' ');
  out.write(attrs[i++].toString());
  out.write('=');
  out.write('"');
  escapeAttributeValue(attrs[i].toString(), out);
  out.write('"');
 }
 if (val == null) {
  out.write('/');
  out.write('>');
 } else {
  out.write('>');
  escapeCharData(val,out);
  out.write('<');
  out.write('/');
  out.write(tag);
  out.write('>');
 }
}

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

public final static void writeXML(Writer out, String tag, String val) throws IOException {
 out.write('<');
 out.write(tag);
 if (val == null) {
  out.write('/');
  out.write('>');
 } else {
  out.write('>');
  escapeCharData(val,out);
  out.write('<');
  out.write('/');
  out.write(tag);
  out.write('>');
 }
}

代码示例来源: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

/**
 * Generates an &lt;add&gt;&lt;doc&gt;... XML String with options
 * on the add.
 *
 * @param doc the Document to add
 * @param args 0th and Even numbered args are param names, Odds are param values.
 * @see #add
 * @see #doc
 */
public String add(Doc doc, String... args) {
 try {
  StringWriter r = new StringWriter();
     
  // this is anoying
  if (null == args || 0 == args.length) {
   r.write("<add>");
   r.write(doc.xml);
   r.write("</add>");
  } else {
   XML.writeUnescapedXML(r, "add", doc.xml, (Object[])args);
  }
     
  return r.getBuffer().toString();
 } catch (IOException e) {
  throw new RuntimeException
   ("this should never happen with a StringWriter", e);
 }
}

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

/** escapes character data in val */
public final static void writeXML(Writer out, String tag, String val, Object... attrs) throws IOException {
 out.write('<');
 out.write(tag);
 for (int i=0; i<attrs.length; i++) {
  out.write(' ');
  out.write(attrs[i++].toString());
  out.write('=');
  out.write('"');
  escapeAttributeValue(attrs[i].toString(), out);
  out.write('"');
 }
 if (val == null) {
  out.write('/');
  out.write('>');
 } else {
  out.write('>');
  escapeCharData(val,out);
  out.write('<');
  out.write('/');
  out.write(tag);
  out.write('>');
 }
}

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

public void writePrim(String tag, String name, String val, boolean escape) throws IOException {
 // OPT - we could use a temp char[] (or a StringBuilder) and if the
 // size was small enough to fit (if escape==false we can calc exact size)
 // then we could put things directly in the temp buf.
 // need to see what percent of CPU this takes up first though...
 // Could test a reusable StringBuilder...
 // is this needed here???
 // Only if a fieldtype calls writeStr or something
 // with a null val instead of calling writeNull
 /***
 if (val==null) {
  if (name==null) writer.write("<null/>");
  else writer.write("<null name=\"" + name + "/>");
 }
 ***/
 int contentLen=val.length();
 startTag(tag, name, contentLen==0);
 if (contentLen==0) return;
 if (escape) {
  XML.escapeCharData(val,writer);
 } else {
  writer.write(val,0,contentLen);
 }
 writer.write("</");
 writer.write(tag);
 writer.write('>');
}

代码示例来源: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-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-core

private void writeAttribute(Writer w, String name, Object value) throws IOException {
 if (value == null) return;
 w.write(" ");
 w.write(name);
 w.write("=\"");
 XML.escapeAttributeValue(value.toString(), w);
 w.write("\"");
}

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

public static void escapeAttributeValue(String str, Writer out) throws IOException {
 escape(str, out, attribute_escapes);
}

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

/**
 * Generates an &lt;add&gt;&lt;doc&gt;... XML String with options
 * on the add.
 *
 * @param doc the Document to add
 * @param args 0th and Even numbered args are param names, Odds are param values.
 * @see #add
 * @see #doc
 */
public static String add(XmlDoc doc, String... args) {
 try {
  StringWriter r = new StringWriter();
  // this is annoying
  if (null == args || 0 == args.length) {
   r.write("<add>");
   r.write(doc.xml);
   r.write("</add>");
  } else {
   XML.writeUnescapedXML(r, "add", doc.xml, (Object[])args);
  }
  return r.getBuffer().toString();
 } catch (IOException e) {
  throw new RuntimeException
   ("this should never happen with a StringWriter", e);
 }
}

代码示例来源:origin: mattweber/elasticsearch-mocksolrplugin

/**Write a complete tag w/ attributes and cdata (the cdata is not enclosed in $lt;!CDATA[]!&gt;
 * @param tag
 * @param attributes
 * @param cdata
 * @param escapeCdata
 * @param escapeAttr
 * @throws IOException
 */
public void writeCdataTag(String tag, Map<String,String> attributes, String cdata, boolean escapeCdata, boolean escapeAttr) throws IOException {
 writer.write('<');
 writer.write(tag);
 if (!attributes.isEmpty()) {
  for (Map.Entry<String, String> entry : attributes.entrySet()) {
   writeAttr(entry.getKey(), entry.getValue(), escapeAttr);
  }
 }
 writer.write('>');
 if (cdata != null && cdata.length() > 0) {
  if (escapeCdata) {
   XML.escapeCharData(cdata, writer);
  } else {
   writer.write(cdata, 0, cdata.length());
  }
 }
 writer.write("</");
 writer.write(tag);
 writer.write('>');
}

代码示例来源: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);
 }
}

相关文章