public static String serialize(Set<String> set) { if (set == null) { set = Collections.emptySet(); } StringWriter writer = new StringWriter(); XmlSerializer serializer = Xml.newSerializer(); try { serializer.setOutput(writer); serializer.startTag(NAMESPACE, SET_TAG); for (String string : set) { serializer.startTag(NAMESPACE, STRING_TAG) // .text(string) // .endTag(NAMESPACE, STRING_TAG); } serializer.endTag(NAMESPACE, SET_TAG) // .endDocument(); } catch (IllegalArgumentException | IOException | IllegalStateException e) { // should never happen } return writer.toString(); }
private static void writeElement(XmlSerializer serializer, String elementName, String value) throws IllegalArgumentException, IllegalStateException, IOException { if (value != null) { serializer.startTag(null, elementName); serializer.text(value); serializer.endTag(null, elementName); } }
@Override protected void serializeBody(XmlSerializer serializer, ResResource res) throws AndrolibException, IOException { for (int i = 0; i < mItems.length; i++) { FlagItem item = mItems[i]; serializer.startTag(null, "flag"); serializer.attribute(null, "name", item.getValue()); serializer.attribute(null, "value", String.format("0x%08x", item.flag)); serializer.endTag(null, "flag"); } }
public static final void writeSetXml(Set val, String name, XmlSerializer out) throws XmlPullParserException, java.io.IOException { if (val == null) { out.startTag(null, "null"); out.endTag(null, "null"); return; } out.startTag(null, "set"); if (name != null) { out.attribute(null, "name", name); } for (Object v : val) { writeValueXml(v, null, out); } out.endTag(null, "set"); }
private static void writeKeyAndPrettyValueFromSetting(XmlSerializer serializer, String key, String literalValue) throws IllegalArgumentException, IllegalStateException, IOException { serializer.startTag(null, VALUE_ELEMENT); serializer.attribute(null, KEY_ATTRIBUTE, key); if (literalValue != null) { serializer.text(literalValue); } serializer.endTag(null, VALUE_ELEMENT); }
/** * Flatten a Map into an XmlSerializer. The map can later be read back * with readThisMapXml(). * * @param val The map to be flattened. * @param name Name attribute to include with this list's tag, or null for * none. * @param out XmlSerializer to write the map into. * @param callback Method to call when an Object type is not recognized. * * @see #writeMapXml(Map, OutputStream) * @see #writeListXml * @see #writeValueXml * @see #readMapXml */ public static final void writeMapXml(Map val, String name, XmlSerializer out, WriteMapCallback callback) throws XmlPullParserException, java.io.IOException { if (val == null) { out.startTag(null, "null"); out.endTag(null, "null"); return; } out.startTag(null, "map"); if (name != null) { out.attribute(null, "name", name); } writeMapXml(val, out, callback); out.endTag(null, "map"); }
@Override protected void serializeBody(XmlSerializer serializer, ResResource res) throws AndrolibException, IOException { for (Duo<ResReferenceValue, ResIntValue> duo : mItems) { int intVal = duo.m2.getValue(); serializer.startTag(null, "enum"); serializer.attribute(null, "name", duo.m1.getReferent().getName()); serializer.attribute(null, "value", String.valueOf(intVal)); serializer.endTag(null, "enum"); } }
serializer.startTag(null, tagName); if (item) { serializer.attribute(null, "type", type);
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { serializer.startTag(null, "plurals"); serializer.attribute(null, "name", res.getResSpec().getName()); for (int i = 0; i < mItems.length; i++) { ResScalarValue item = mItems[i]; if (item == null) { continue; } serializer.startTag(null, "item"); serializer.attribute(null, "quantity", QUANTITY_MAP[i]); serializer.text(ResXmlEncoders.enumerateNonPositionalSubstitutionsIfRequired(item.encodeAsResXmlNonEscapedItemValue())); serializer.endTag(null, "item"); } serializer.endTag(null, "plurals"); }
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { String type = getType(); type = (type == null ? "" : type + "-") + "array"; serializer.startTag(null, type); serializer.attribute(null, "name", res.getResSpec().getName()); // lets check if we need to add formatted="false" to this array for (int i = 0; i < mItems.length; i++) { if (mItems[i].hasMultipleNonPositionalSubstitutions()) { serializer.attribute(null, "formatted", "false"); break; } } // add <item>'s for (int i = 0; i < mItems.length; i++) { serializer.startTag(null, "item"); serializer.text(mItems[i].encodeAsResXmlNonEscapedItemValue()); serializer.endTag(null, "item"); } serializer.endTag(null, type); }
private void writeUserListLocked() { FileOutputStream fos = null; AtomicFile userListFile = new AtomicFile(mUserListFile); try { fos = userListFile.startWrite(); final BufferedOutputStream bos = new BufferedOutputStream(fos); // XmlSerializer serializer = XmlUtils.serializerInstance(); final XmlSerializer serializer = new FastXmlSerializer(); serializer.setOutput(bos, "utf-8"); serializer.startDocument(null, true); serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); serializer.startTag(null, TAG_USERS); serializer.attribute(null, ATTR_NEXT_SERIAL_NO, Integer.toString(mNextSerialNumber)); serializer.attribute(null, ATTR_USER_VERSION, Integer.toString(mUserVersion)); for (int i = 0; i < mUsers.size(); i++) { VUserInfo user = mUsers.valueAt(i); serializer.startTag(null, TAG_USER); serializer.attribute(null, ATTR_ID, Integer.toString(user.id)); serializer.endTag(null, TAG_USER); } serializer.endTag(null, TAG_USERS); serializer.endDocument(); userListFile.finishWrite(fos); } catch (Exception e) { userListFile.failWrite(fos); VLog.e(LOG_TAG, "Error writing user list"); } }
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { String type = getTypeAsString(); serializer.startTag(null, "attr"); serializer.attribute(null, "name", res.getResSpec().getName()); if (type != null) { serializer.attribute(null, "format", type); } if (mMin != null) { serializer.attribute(null, "min", mMin.toString()); } if (mMax != null) { serializer.attribute(null, "max", mMax.toString()); } if (mL10n != null && mL10n) { serializer.attribute(null, "localization", "suggested"); } serializeBody(serializer, res); serializer.endTag(null, "attr"); }
private void generatePublicXml(ResPackage pkg, Directory out, XmlSerializer serial) throws AndrolibException { try { OutputStream outStream = out.getFileOutput("values/public.xml"); serial.setOutput(outStream, null); serial.startDocument(null, null); serial.startTag(null, "resources"); for (ResResSpec spec : pkg.listResSpecs()) { serial.startTag(null, "public"); serial.attribute(null, "type", spec.getType().getName()); serial.attribute(null, "name", spec.getName()); serial.attribute(null, "id", String.format("0x%08x", spec.getId().id)); serial.endTag(null, "public"); } serial.endTag(null, "resources"); serial.endDocument(); serial.flush(); outStream.close(); } catch (IOException | DirectoryException ex) { throw new AndrolibException("Could not generate public.xml file", ex); } }
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { serializer.startTag(null, "item"); serializer .attribute(null, "type", res.getResSpec().getType().getName()); serializer.attribute(null, "name", res.getResSpec().getName()); serializer.endTag(null, "item"); } }
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); serializer.startTag(null, TAG_USER); serializer.attribute(null, ATTR_ID, Integer.toString(userInfo.id)); serializer.attribute(null, ATTR_SERIAL_NO, Integer.toString(userInfo.serialNumber)); serializer.startTag(null, TAG_NAME); serializer.text(userInfo.name); serializer.endTag(null, TAG_NAME);
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { String type = res.getResSpec().getType().getName(); if ("style".equals(type)) { new ResStyleValue(mParent, new Duo[0], null) .serializeToResValuesXml(serializer, res); return; } if ("array".equals(type)) { new ResArrayValue(mParent, new Duo[0]).serializeToResValuesXml( serializer, res); return; } if ("plurals".equals(type)) { new ResPluralsValue(mParent, new Duo[0]).serializeToResValuesXml( serializer, res); return; } serializer.startTag(null, "item"); serializer.attribute(null, "type", type); serializer.attribute(null, "name", res.getResSpec().getName()); serializer.endTag(null, "item"); }
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { serializer.startTag(null, "style"); serializer.attribute(null, "name", res.getResSpec().getName()); if (!mParent.isNull() && !mParent.referentIsNull()) { serializer.startTag(null, "item"); serializer.attribute(null, "name", name); serializer.text(value);
break; case (XmlPullParser.START_TAG): xmlSerializer.startTag(xpp.getNamespace(), xpp.getName()); for (int i = 0; i < xpp.getAttributeCount(); i++) { xmlSerializer.attribute(xpp.getAttributeNamespace(i), xpp.getAttributeName(i),