org.xmlpull.v1.XmlSerializer#flush ( )源码实例Demo

下面列出了org.xmlpull.v1.XmlSerializer#flush ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: android_9.0.0_r45   文件: PersistentDataStore.java
private void save() {
    final FileOutputStream os;
    try {
        os = mAtomicFile.startWrite();
        boolean success = false;
        try {
            XmlSerializer serializer = new FastXmlSerializer();
            serializer.setOutput(new BufferedOutputStream(os), StandardCharsets.UTF_8.name());
            saveToXml(serializer);
            serializer.flush();
            success = true;
        } finally {
            if (success) {
                mAtomicFile.finishWrite(os);
                broadcastChangesIfNeeded();
            } else {
                mAtomicFile.failWrite(os);
            }
        }
    } catch (IOException ex) {
        Slog.w(TAG, "Failed to save tv input manager persistent store data.", ex);
    }
}
 
源代码2 项目: android_9.0.0_r45   文件: SliceManagerService.java
@Override
public byte[] getBackupPayload(int user) {
    if (Binder.getCallingUid() != SYSTEM_UID) {
        throw new SecurityException("Caller must be system");
    }
    //TODO: http://b/22388012
    if (user != UserHandle.USER_SYSTEM) {
        Slog.w(TAG, "getBackupPayload: cannot backup policy for user " + user);
        return null;
    }
    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {
        XmlSerializer out = XmlPullParserFactory.newInstance().newSerializer();
        out.setOutput(baos, Encoding.UTF_8.name());

        mPermissions.writeBackup(out);

        out.flush();
        return baos.toByteArray();
    } catch (IOException | XmlPullParserException e) {
        Slog.w(TAG, "getBackupPayload: error writing payload for user " + user, e);
    }
    return null;
}
 
源代码3 项目: android_9.0.0_r45   文件: TaskPersister.java
private StringWriter saveToXml(TaskRecord task) throws IOException, XmlPullParserException {
    if (DEBUG) Slog.d(TAG, "saveToXml: task=" + task);
    final XmlSerializer xmlSerializer = new FastXmlSerializer();
    StringWriter stringWriter = new StringWriter();
    xmlSerializer.setOutput(stringWriter);

    if (DEBUG) xmlSerializer.setFeature(
            "http://xmlpull.org/v1/doc/features.html#indent-output", true);

    // save task
    xmlSerializer.startDocument(null, true);

    xmlSerializer.startTag(null, TAG_TASK);
    task.saveToXml(xmlSerializer);
    xmlSerializer.endTag(null, TAG_TASK);

    xmlSerializer.endDocument();
    xmlSerializer.flush();

    return stringWriter;
}
 
public SoapObject GetSoapObject(Element detailElement) {
	try {
		XmlSerializer xmlSerializer = XmlPullParserFactory.newInstance().newSerializer();
		StringWriter writer = new StringWriter();
		xmlSerializer.setOutput(writer);
		detailElement.write(xmlSerializer);
		xmlSerializer.flush();

		XmlPullParser xpp = new KXmlParser();
		xpp.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);

		xpp.setInput(new StringReader(writer.toString()));
		xpp.nextTag();
		SoapObject soapObj = new SoapObject(detailElement.getNamespace(), detailElement.getName());
		readSerializable(xpp, soapObj);
		return soapObj;
	} catch (Exception ex) {
		ex.printStackTrace();
	}
	return null;
}
 
源代码5 项目: android_9.0.0_r45   文件: PackageStatusStorage.java
@GuardedBy("this")
private void writePackageStatusLocked(Integer status, int optimisticLockId,
        PackageVersions packageVersions) throws IOException {
    if ((status == null) != (packageVersions == null)) {
        throw new IllegalArgumentException(
                "Provide both status and packageVersions, or neither.");
    }

    FileOutputStream fos = null;
    try {
        fos = mPackageStatusFile.startWrite();
        XmlSerializer serializer = new FastXmlSerializer();
        serializer.setOutput(fos, StandardCharsets.UTF_8.name());
        serializer.startDocument(null /* encoding */, true /* standalone */);
        final String namespace = null;
        serializer.startTag(namespace, TAG_PACKAGE_STATUS);
        String statusAttributeValue = status == null ? "" : Integer.toString(status);
        serializer.attribute(namespace, ATTRIBUTE_CHECK_STATUS, statusAttributeValue);
        serializer.attribute(namespace, ATTRIBUTE_OPTIMISTIC_LOCK_ID,
                Integer.toString(optimisticLockId));
        long updateAppVersion = status == null
                ? UNKNOWN_PACKAGE_VERSION : packageVersions.mUpdateAppVersion;
        serializer.attribute(namespace, ATTRIBUTE_UPDATE_APP_VERSION,
                Long.toString(updateAppVersion));
        long dataAppVersion = status == null
                ? UNKNOWN_PACKAGE_VERSION : packageVersions.mDataAppVersion;
        serializer.attribute(namespace, ATTRIBUTE_DATA_APP_VERSION,
                Long.toString(dataAppVersion));
        serializer.endTag(namespace, TAG_PACKAGE_STATUS);
        serializer.endDocument();
        serializer.flush();
        mPackageStatusFile.finishWrite(fos);
    } catch (IOException e) {
        if (fos != null) {
            mPackageStatusFile.failWrite(fos);
        }
        throw e;
    }

}
 
源代码6 项目: tracker-control-android   文件: ActivityDns.java
private void xmlExport(OutputStream out) throws IOException {
    XmlSerializer serializer = Xml.newSerializer();
    serializer.setOutput(out, "UTF-8");
    serializer.startDocument(null, true);
    serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
    serializer.startTag(null, "netguard");

    DateFormat df = new SimpleDateFormat("E, d MMM yyyy HH:mm:ss Z", Locale.US); // RFC 822

    try (Cursor cursor = DatabaseHelper.getInstance(this).getDns()) {
        int colTime = cursor.getColumnIndex("time");
        int colQName = cursor.getColumnIndex("qname");
        int colAName = cursor.getColumnIndex("aname");
        int colResource = cursor.getColumnIndex("resource");
        int colTTL = cursor.getColumnIndex("ttl");
        while (cursor.moveToNext()) {
            long time = cursor.getLong(colTime);
            String qname = cursor.getString(colQName);
            String aname = cursor.getString(colAName);
            String resource = cursor.getString(colResource);
            int ttl = cursor.getInt(colTTL);

            serializer.startTag(null, "dns");
            serializer.attribute(null, "time", df.format(time));
            serializer.attribute(null, "qname", qname);
            serializer.attribute(null, "aname", aname);
            serializer.attribute(null, "resource", resource);
            serializer.attribute(null, "ttl", Integer.toString(ttl));
            serializer.endTag(null, "dns");
        }
    }

    serializer.endTag(null, "netguard");
    serializer.endDocument();
    serializer.flush();
}
 
源代码7 项目: NetGuard   文件: ActivityDns.java
private void xmlExport(OutputStream out) throws IOException {
    XmlSerializer serializer = Xml.newSerializer();
    serializer.setOutput(out, "UTF-8");
    serializer.startDocument(null, true);
    serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
    serializer.startTag(null, "netguard");

    DateFormat df = new SimpleDateFormat("E, d MMM yyyy HH:mm:ss Z", Locale.US); // RFC 822

    try (Cursor cursor = DatabaseHelper.getInstance(this).getDns()) {
        int colTime = cursor.getColumnIndex("time");
        int colQName = cursor.getColumnIndex("qname");
        int colAName = cursor.getColumnIndex("aname");
        int colResource = cursor.getColumnIndex("resource");
        int colTTL = cursor.getColumnIndex("ttl");
        while (cursor.moveToNext()) {
            long time = cursor.getLong(colTime);
            String qname = cursor.getString(colQName);
            String aname = cursor.getString(colAName);
            String resource = cursor.getString(colResource);
            int ttl = cursor.getInt(colTTL);

            serializer.startTag(null, "dns");
            serializer.attribute(null, "time", df.format(time));
            serializer.attribute(null, "qname", qname);
            serializer.attribute(null, "aname", aname);
            serializer.attribute(null, "resource", resource);
            serializer.attribute(null, "ttl", Integer.toString(ttl));
            serializer.endTag(null, "dns");
        }
    }

    serializer.endTag(null, "netguard");
    serializer.endDocument();
    serializer.flush();
}
 
源代码8 项目: ImapNote2   文件: ConfigurationFile.java
public void SaveConfigurationToXML() throws IllegalArgumentException, IllegalStateException, IOException{
    FileOutputStream configurationFile = this.applicationContext.openFileOutput("ImapNotes2.conf", Context.MODE_PRIVATE);
    XmlSerializer serializer = Xml.newSerializer();
    serializer.setOutput(configurationFile, "UTF-8");
    serializer.startDocument(null, Boolean.valueOf(true)); 
    serializer.startTag(null, "Configuration"); 
    serializer.startTag(null, "username");
    serializer.text(this.username);
    serializer.endTag(null, "username");
    serializer.startTag(null, "password");
    serializer.text(this.password);
    serializer.endTag(null, "password");
    serializer.startTag(null, "server");
    serializer.text(this.server);
    serializer.endTag(null, "server");
    serializer.startTag(null, "portnum");
    serializer.text(this.portnum);
    serializer.endTag(null, "portnum");
    serializer.startTag(null, "security");
    serializer.text(this.security);
    serializer.endTag(null, "security");
    serializer.startTag(null,"imapfolder");
    serializer.text(this.imapfolder);
    serializer.endTag(null, "imapfolder");
    serializer.startTag(null, "usesticky");
    serializer.text(this.usesticky);
    serializer.endTag(null, "usesticky");
    serializer.endTag(null, "Configuration"); 
    serializer.endDocument();
    serializer.flush();
    configurationFile.close();
}
 
源代码9 项目: starcor.xul   文件: XulDataNode.java
private void writeObject(java.io.ObjectOutputStream out) throws IOException {
	try {
		XmlSerializer writer = XmlPullParserFactory.newInstance().newSerializer();
		writer.setOutput(out, "utf-8");
		writer.startDocument("utf-8", true);
		dumpXulDataNode(this, writer);
		writer.endDocument();
		writer.flush();
	} catch (Exception e) {
		e.printStackTrace();
	}
}
 
源代码10 项目: Stringlate   文件: ApplicationListParser.java
static boolean parseToXml(ApplicationList applications, OutputStream out) {
    XmlSerializer serializer = Xml.newSerializer();
    try {
        serializer.setOutput(out, "UTF-8");
        serializer.startTag(ns, "fdroid");

        for (ApplicationDetails app : applications) {
            serializer.startTag(ns, "application");

            writeTag(serializer, ID, app.getPackageName());
            writeTag(serializer, LAST_UPDATED, app.getLastUpdatedDateString());
            writeTag(serializer, NAME, app.getProjectName());
            writeTag(serializer, DESCRIPTION, app.getDescription());
            writeTag(serializer, ICON_URL, app.getIconUrl());
            writeTag(serializer, SOURCE_URL, app.getSourceCodeUrl());
            writeTag(serializer, WEB, app.getProjectWebUrl());
            writeTag(serializer, MAIL, app.getProjectMail());

            serializer.endTag(ns, "application");
        }
        serializer.endTag(ns, "fdroid");
        serializer.flush();
        return true;
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    }
}
 
源代码11 项目: MediaSDK   文件: DashManifestParser.java
/**
 * Parses an event object.
 *
 * @param xpp The current xml parser.
 * @param scratchOutputStream A {@link ByteArrayOutputStream} that's used when parsing the object.
 * @return The serialized byte array.
 * @throws XmlPullParserException If there is any error parsing this node.
 * @throws IOException If there is any error reading from the underlying input stream.
 */
protected byte[] parseEventObject(XmlPullParser xpp, ByteArrayOutputStream scratchOutputStream)
    throws XmlPullParserException, IOException {
  scratchOutputStream.reset();
  XmlSerializer xmlSerializer = Xml.newSerializer();
  xmlSerializer.setOutput(scratchOutputStream, C.UTF8_NAME);
  // Start reading everything between <Event> and </Event>, and serialize them into an Xml
  // byte array.
  xpp.nextToken();
  while (!XmlPullParserUtil.isEndTag(xpp, "Event")) {
    switch (xpp.getEventType()) {
      case (XmlPullParser.START_DOCUMENT):
        xmlSerializer.startDocument(null, false);
        break;
      case (XmlPullParser.END_DOCUMENT):
        xmlSerializer.endDocument();
        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),
              xpp.getAttributeValue(i));
        }
        break;
      case (XmlPullParser.END_TAG):
        xmlSerializer.endTag(xpp.getNamespace(), xpp.getName());
        break;
      case (XmlPullParser.TEXT):
        xmlSerializer.text(xpp.getText());
        break;
      case (XmlPullParser.CDSECT):
        xmlSerializer.cdsect(xpp.getText());
        break;
      case (XmlPullParser.ENTITY_REF):
        xmlSerializer.entityRef(xpp.getText());
        break;
      case (XmlPullParser.IGNORABLE_WHITESPACE):
        xmlSerializer.ignorableWhitespace(xpp.getText());
        break;
      case (XmlPullParser.PROCESSING_INSTRUCTION):
        xmlSerializer.processingInstruction(xpp.getText());
        break;
      case (XmlPullParser.COMMENT):
        xmlSerializer.comment(xpp.getText());
        break;
      case (XmlPullParser.DOCDECL):
        xmlSerializer.docdecl(xpp.getText());
        break;
      default: // fall out
    }
    xpp.nextToken();
  }
  xmlSerializer.flush();
  return scratchOutputStream.toByteArray();
}
 
源代码12 项目: Androzic   文件: GpxFiles.java
/**
 * Saves track to file.
 * 
 * @param file valid <code>File</code>
 * @param track <code>Track</code> object containing the list of track points to save
 * @throws IOException
 */
public static void saveTrackToFile(final File file, final Track track) throws IOException
{
	XmlSerializer serializer = Xml.newSerializer();
	serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
	BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, false)));
	serializer.setOutput(writer);
	serializer.startDocument("UTF-8", null);
	serializer.setPrefix("", GPX_NAMESPACE);
	serializer.startTag(GPX_NAMESPACE, GpxParser.GPX);
	serializer.attribute("", "creator", "Androzic http://androzic.com");
	serializer.startTag(GPX_NAMESPACE, GpxParser.TRK);
	serializer.startTag(GPX_NAMESPACE, GpxParser.NAME);
	serializer.text(track.name);
	serializer.endTag(GPX_NAMESPACE, GpxParser.NAME);
	serializer.startTag(GPX_NAMESPACE, GpxParser.SRC);
	serializer.text(Androzic.getDeviceName());
	serializer.endTag(GPX_NAMESPACE, GpxParser.SRC);
	
	boolean first = true;
	serializer.startTag(GPX_NAMESPACE, GpxParser.TRKSEG);
	List<TrackPoint> trackPoints = track.getAllPoints();
	for (TrackPoint tp : trackPoints)
	{
		if (!tp.continous && !first)
		{
			serializer.endTag(GPX_NAMESPACE, GpxParser.TRKSEG);
			serializer.startTag(GPX_NAMESPACE, GpxParser.TRKSEG);
		}
		serializer.startTag(GPX_NAMESPACE, GpxParser.TRKPT);
		serializer.attribute("", GpxParser.LAT, String.valueOf(tp.latitude));
		serializer.attribute("", GpxParser.LON, String.valueOf(tp.longitude));
		serializer.startTag(GPX_NAMESPACE, GpxParser.ELE);
		serializer.text(String.valueOf(tp.elevation));
		serializer.endTag(GPX_NAMESPACE, GpxParser.ELE);
		serializer.startTag(GPX_NAMESPACE, GpxParser.TIME);
		serializer.text(GpxParser.trktime.format(new Date(tp.time)));
		serializer.endTag(GPX_NAMESPACE, GpxParser.TIME);
		serializer.endTag(GPX_NAMESPACE, GpxParser.TRKPT);
		first = false;
	}
	serializer.endTag(GPX_NAMESPACE, GpxParser.TRKSEG);
	serializer.endTag(GPX_NAMESPACE, GpxParser.TRK);
	serializer.endTag(GPX_NAMESPACE, GpxParser.GPX);
	serializer.endDocument();
	serializer.flush();
	writer.close();
}
 
源代码13 项目: maven-framework-project   文件: XmlPullCreateXML.java
public static void main(String[] args) throws Exception{
    XmlSerializer xmlSerializer=new KXmlSerializer();
    xmlSerializer.setOutput(new FileOutputStream(new File("target/student.xml")), "utf-8");
    xmlSerializer.startDocument(null, true);
    xmlSerializer.startTag(null, "data");
    for (int i = 0; i < 10; i++) {
        xmlSerializer.startTag(null, "student");
        xmlSerializer.attribute(null, "id", ""+(i+1));
        
        xmlSerializer.startTag(null, "name");
        xmlSerializer.text("student"+i);
        xmlSerializer.endTag(null, "name");
        
        xmlSerializer.startTag(null, "age");
        xmlSerializer.text((i+10)+"");
        xmlSerializer.endTag(null, "age");
        
        
        xmlSerializer.startTag(null, "sex");
        if(i%2==0){
            xmlSerializer.text("女");
        }else{
            xmlSerializer.text("男");
        }
        xmlSerializer.endTag(null, "sex");
        
        
        xmlSerializer.startTag(null, "address");
        xmlSerializer.text("陕西西安");
        xmlSerializer.endTag(null, "address");
        
        xmlSerializer.endTag(null, "student");
    }
    
    xmlSerializer.endTag(null, "data");
    
    xmlSerializer.endDocument();
    
    xmlSerializer.flush();
    
}
 
源代码14 项目: tracker-control-android   文件: ActivitySettings.java
private void xmlExport(OutputStream out) throws IOException {
    XmlSerializer serializer = Xml.newSerializer();
    serializer.setOutput(out, "UTF-8");
    serializer.startDocument(null, true);
    serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
    serializer.startTag(null, "trackercontrol");

    serializer.startTag(null, "application");
    xmlExport(PreferenceManager.getDefaultSharedPreferences(this), serializer);
    serializer.endTag(null, "application");

    serializer.startTag(null, "wifi");
    xmlExport(getSharedPreferences("wifi", Context.MODE_PRIVATE), serializer);
    serializer.endTag(null, "wifi");

    serializer.startTag(null, "mobile");
    xmlExport(getSharedPreferences("other", Context.MODE_PRIVATE), serializer);
    serializer.endTag(null, "mobile");

    serializer.startTag(null, "screen_wifi");
    xmlExport(getSharedPreferences("screen_wifi", Context.MODE_PRIVATE), serializer);
    serializer.endTag(null, "screen_wifi");

    serializer.startTag(null, "screen_other");
    xmlExport(getSharedPreferences("screen_other", Context.MODE_PRIVATE), serializer);
    serializer.endTag(null, "screen_other");

    serializer.startTag(null, "roaming");
    xmlExport(getSharedPreferences("roaming", Context.MODE_PRIVATE), serializer);
    serializer.endTag(null, "roaming");

    serializer.startTag(null, "lockdown");
    xmlExport(getSharedPreferences("lockdown", Context.MODE_PRIVATE), serializer);
    serializer.endTag(null, "lockdown");

    serializer.startTag(null, "apply");
    xmlExport(getSharedPreferences("apply", Context.MODE_PRIVATE), serializer);
    serializer.endTag(null, "apply");

    serializer.startTag(null, "notify");
    xmlExport(getSharedPreferences("notify", Context.MODE_PRIVATE), serializer);
    serializer.endTag(null, "notify");

    serializer.startTag(null, "filter");
    filterExport(serializer);
    serializer.endTag(null, "filter");

    serializer.startTag(null, "forward");
    forwardExport(serializer);
    serializer.endTag(null, "forward");

    serializer.startTag(null, "blocklist");
    xmlExport(getSharedPreferences(PREF_BLOCKLIST, Context.MODE_PRIVATE), serializer);
    serializer.endTag(null, "blocklist");

    serializer.endTag(null, "trackercontrol");
    serializer.endDocument();
    serializer.flush();
}
 
源代码15 项目: TelePlus-Android   文件: DashManifestParser.java
/**
 * Parses an event object.
 *
 * @param xpp The current xml parser.
 * @param scratchOutputStream A {@link ByteArrayOutputStream} that's used when parsing the object.
 * @return The serialized byte array.
 * @throws XmlPullParserException If there is any error parsing this node.
 * @throws IOException If there is any error reading from the underlying input stream.
 */
protected byte[] parseEventObject(XmlPullParser xpp, ByteArrayOutputStream scratchOutputStream)
    throws XmlPullParserException, IOException {
  scratchOutputStream.reset();
  XmlSerializer xmlSerializer = Xml.newSerializer();
  xmlSerializer.setOutput(scratchOutputStream, null);
  // Start reading everything between <Event> and </Event>, and serialize them into an Xml
  // byte array.
  xpp.nextToken();
  while (!XmlPullParserUtil.isEndTag(xpp, "Event")) {
    switch (xpp.getEventType()) {
      case (XmlPullParser.START_DOCUMENT):
        xmlSerializer.startDocument(null, false);
        break;
      case (XmlPullParser.END_DOCUMENT):
        xmlSerializer.endDocument();
        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),
              xpp.getAttributeValue(i));
        }
        break;
      case (XmlPullParser.END_TAG):
        xmlSerializer.endTag(xpp.getNamespace(), xpp.getName());
        break;
      case (XmlPullParser.TEXT):
        xmlSerializer.text(xpp.getText());
        break;
      case (XmlPullParser.CDSECT):
        xmlSerializer.cdsect(xpp.getText());
        break;
      case (XmlPullParser.ENTITY_REF):
        xmlSerializer.entityRef(xpp.getText());
        break;
      case (XmlPullParser.IGNORABLE_WHITESPACE):
        xmlSerializer.ignorableWhitespace(xpp.getText());
        break;
      case (XmlPullParser.PROCESSING_INSTRUCTION):
        xmlSerializer.processingInstruction(xpp.getText());
        break;
      case (XmlPullParser.COMMENT):
        xmlSerializer.comment(xpp.getText());
        break;
      case (XmlPullParser.DOCDECL):
        xmlSerializer.docdecl(xpp.getText());
        break;
      default: // fall out
    }
    xpp.nextToken();
  }
  xmlSerializer.flush();
  return scratchOutputStream.toByteArray();
}
 
源代码16 项目: mytracks   文件: XmlMapsGDataSerializer.java
@Override
public void serialize(OutputStream out, int format)
    throws IOException, ParseException {
  XmlSerializer serializer = null;
  try {
    serializer = factory.createSerializer();
  } catch (XmlPullParserException e) {
    throw new ParseException("Unable to create XmlSerializer.", e);
  }

  ByteArrayOutputStream printStream;

  if (MapsClient.LOG_COMMUNICATION) {
    printStream = new ByteArrayOutputStream();

    serializer.setOutput(printStream, "UTF-8");
  } else {
    serializer.setOutput(out, "UTF-8");
  }

  serializer.startDocument("UTF-8", Boolean.FALSE);

  declareEntryNamespaces(serializer);
  serializer.startTag(XmlGDataParser.NAMESPACE_ATOM_URI, "entry");

  if (MapsClient.LOG_COMMUNICATION) {
    stream = printStream;
  } else {
    stream = out;
  }
  serializeEntryContents(serializer, format);

  serializer.endTag(XmlGDataParser.NAMESPACE_ATOM_URI, "entry");
  serializer.endDocument();
  serializer.flush();

  if (MapsClient.LOG_COMMUNICATION) {
    Log.d("Request", printStream.toString());
    out.write(printStream.toByteArray());
    stream = out;
  }
}
 
源代码17 项目: Telegram-FOSS   文件: DashManifestParser.java
/**
 * Parses an event object.
 *
 * @param xpp The current xml parser.
 * @param scratchOutputStream A {@link ByteArrayOutputStream} that's used when parsing the object.
 * @return The serialized byte array.
 * @throws XmlPullParserException If there is any error parsing this node.
 * @throws IOException If there is any error reading from the underlying input stream.
 */
protected byte[] parseEventObject(XmlPullParser xpp, ByteArrayOutputStream scratchOutputStream)
    throws XmlPullParserException, IOException {
  scratchOutputStream.reset();
  XmlSerializer xmlSerializer = Xml.newSerializer();
  xmlSerializer.setOutput(scratchOutputStream, C.UTF8_NAME);
  // Start reading everything between <Event> and </Event>, and serialize them into an Xml
  // byte array.
  xpp.nextToken();
  while (!XmlPullParserUtil.isEndTag(xpp, "Event")) {
    switch (xpp.getEventType()) {
      case (XmlPullParser.START_DOCUMENT):
        xmlSerializer.startDocument(null, false);
        break;
      case (XmlPullParser.END_DOCUMENT):
        xmlSerializer.endDocument();
        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),
              xpp.getAttributeValue(i));
        }
        break;
      case (XmlPullParser.END_TAG):
        xmlSerializer.endTag(xpp.getNamespace(), xpp.getName());
        break;
      case (XmlPullParser.TEXT):
        xmlSerializer.text(xpp.getText());
        break;
      case (XmlPullParser.CDSECT):
        xmlSerializer.cdsect(xpp.getText());
        break;
      case (XmlPullParser.ENTITY_REF):
        xmlSerializer.entityRef(xpp.getText());
        break;
      case (XmlPullParser.IGNORABLE_WHITESPACE):
        xmlSerializer.ignorableWhitespace(xpp.getText());
        break;
      case (XmlPullParser.PROCESSING_INSTRUCTION):
        xmlSerializer.processingInstruction(xpp.getText());
        break;
      case (XmlPullParser.COMMENT):
        xmlSerializer.comment(xpp.getText());
        break;
      case (XmlPullParser.DOCDECL):
        xmlSerializer.docdecl(xpp.getText());
        break;
      default: // fall out
    }
    xpp.nextToken();
  }
  xmlSerializer.flush();
  return scratchOutputStream.toByteArray();
}
 
源代码18 项目: TelePlus-Android   文件: DashManifestParser.java
/**
 * Parses an event object.
 *
 * @param xpp The current xml parser.
 * @param scratchOutputStream A {@link ByteArrayOutputStream} that's used when parsing the object.
 * @return The serialized byte array.
 * @throws XmlPullParserException If there is any error parsing this node.
 * @throws IOException If there is any error reading from the underlying input stream.
 */
protected byte[] parseEventObject(XmlPullParser xpp, ByteArrayOutputStream scratchOutputStream)
    throws XmlPullParserException, IOException {
  scratchOutputStream.reset();
  XmlSerializer xmlSerializer = Xml.newSerializer();
  xmlSerializer.setOutput(scratchOutputStream, null);
  // Start reading everything between <Event> and </Event>, and serialize them into an Xml
  // byte array.
  xpp.nextToken();
  while (!XmlPullParserUtil.isEndTag(xpp, "Event")) {
    switch (xpp.getEventType()) {
      case (XmlPullParser.START_DOCUMENT):
        xmlSerializer.startDocument(null, false);
        break;
      case (XmlPullParser.END_DOCUMENT):
        xmlSerializer.endDocument();
        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),
              xpp.getAttributeValue(i));
        }
        break;
      case (XmlPullParser.END_TAG):
        xmlSerializer.endTag(xpp.getNamespace(), xpp.getName());
        break;
      case (XmlPullParser.TEXT):
        xmlSerializer.text(xpp.getText());
        break;
      case (XmlPullParser.CDSECT):
        xmlSerializer.cdsect(xpp.getText());
        break;
      case (XmlPullParser.ENTITY_REF):
        xmlSerializer.entityRef(xpp.getText());
        break;
      case (XmlPullParser.IGNORABLE_WHITESPACE):
        xmlSerializer.ignorableWhitespace(xpp.getText());
        break;
      case (XmlPullParser.PROCESSING_INSTRUCTION):
        xmlSerializer.processingInstruction(xpp.getText());
        break;
      case (XmlPullParser.COMMENT):
        xmlSerializer.comment(xpp.getText());
        break;
      case (XmlPullParser.DOCDECL):
        xmlSerializer.docdecl(xpp.getText());
        break;
      default: // fall out
    }
    xpp.nextToken();
  }
  xmlSerializer.flush();
  return scratchOutputStream.toByteArray();
}
 
源代码19 项目: Androzic   文件: KmlFiles.java
/**
 * Saves track to file.
 * 
 * @param file valid <code>File</code>
 * @param track <code>Track</code> object containing the list of track points to save
 * @throws IOException
 */
public static void saveTrackToFile(final File file, final Track track) throws IOException
{
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.US);
	XmlSerializer serializer = Xml.newSerializer();
	serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
	BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, false)));
	serializer.setOutput(writer);
	serializer.startDocument("UTF-8", null);
	serializer.setPrefix("", KML_NAMESPACE);
	serializer.startTag(KML_NAMESPACE, KmlParser.KML);
	serializer.startTag(KML_NAMESPACE, KmlParser.DOCUMENT);
	serializer.startTag(KML_NAMESPACE, KmlParser.STYLE);
	serializer.attribute("", KmlParser.ID, "trackStyle");
	serializer.startTag(KML_NAMESPACE, KmlParser.LINESTYLE);
	serializer.startTag(KML_NAMESPACE, KmlParser.COLOR);
	serializer.text(String.format("%08X", KmlParser.reverseColor(track.color)));
	serializer.endTag(KML_NAMESPACE, KmlParser.COLOR);
	serializer.startTag(KML_NAMESPACE, KmlParser.WIDTH);
	serializer.text(String.valueOf(track.width));
	serializer.endTag(KML_NAMESPACE, KmlParser.WIDTH);
	serializer.endTag(KML_NAMESPACE, KmlParser.LINESTYLE);
	serializer.endTag(KML_NAMESPACE, KmlParser.STYLE);
	serializer.startTag(KML_NAMESPACE, KmlParser.FOLDER);
	serializer.startTag(KML_NAMESPACE, KmlParser.NAME);
	serializer.text(track.name);
	serializer.endTag(KML_NAMESPACE, KmlParser.NAME);
	serializer.startTag(KML_NAMESPACE, KmlParser.OPEN);
	serializer.text("0");
	serializer.endTag(KML_NAMESPACE, KmlParser.OPEN);
	serializer.startTag(KML_NAMESPACE, KmlParser.TIMESPAN);
	serializer.startTag(KML_NAMESPACE, KmlParser.BEGIN);
	serializer.text(sdf.format(new Date(track.getPoint(0).time)));
	serializer.endTag(KML_NAMESPACE, KmlParser.BEGIN);
	serializer.startTag(KML_NAMESPACE, KmlParser.END);
	serializer.text(sdf.format(new Date(track.getLastPoint().time)));
	serializer.endTag(KML_NAMESPACE, KmlParser.END);
	serializer.endTag(KML_NAMESPACE, KmlParser.TIMESPAN);
	serializer.startTag(KML_NAMESPACE, KmlParser.STYLE);
	serializer.startTag(KML_NAMESPACE, KmlParser.LISTSTYLE);
	serializer.startTag(KML_NAMESPACE, KmlParser.LISTITEMTYPE);
	serializer.text("checkHideChildren");
	serializer.endTag(KML_NAMESPACE, KmlParser.LISTITEMTYPE);
	serializer.endTag(KML_NAMESPACE, KmlParser.LISTSTYLE);
	serializer.endTag(KML_NAMESPACE, KmlParser.STYLE);
	
	int part = 1;
	boolean first = true;
	startTrackPart(serializer, part, track.name);
	List<TrackPoint> trackPoints = track.getAllPoints();
	synchronized (trackPoints)
	{
		for (TrackPoint tp : trackPoints)
		{
			if (!tp.continous && !first)
			{
				stopTrackPart(serializer);
				part++;
				startTrackPart(serializer, part, track.name);
			}
			serializer.text(String.format("%f,%f,%f ", tp.longitude, tp.latitude, tp.elevation));
			first = false;
		}
	}
	stopTrackPart(serializer);
	serializer.endTag(KML_NAMESPACE, KmlParser.FOLDER);
	serializer.endTag(KML_NAMESPACE, KmlParser.DOCUMENT);
	serializer.endTag(KML_NAMESPACE, KmlParser.KML);
	serializer.endDocument();
	serializer.flush();
	writer.close();
}
 
源代码20 项目: starcor.xul   文件: XulDebugMonitor.java
public synchronized boolean dumpPageList(final XulHttpServer.XulHttpServerRequest request, final XulHttpServer.XulHttpServerResponse response) {
	XmlSerializer xmlWriter = obtainXmlSerializer(response.getBodyStream());
	if (xmlWriter == null) {
		return false;
	}

	try {
		xmlWriter.startDocument("utf-8", Boolean.TRUE);
		xmlWriter.startTag(null, "pages");
		for (Map.Entry<Integer, PageInfo> page : _pagesById.entrySet()) {
			PageInfo value = page.getValue();
			Object pageObj = value.page.get();
			if (pageObj == null) {
				continue;
			}

			xmlWriter.startTag(null, "page");
			xmlWriter.attribute(null, "id", Integer.toString(value.id));

			XulDebugAdapter.writePageSpecifiedAttribute(pageObj, xmlWriter);

			xmlWriter.attribute(null, "status", value.status);


			if (value.firstResumedTime >= value.createTime) {
				xmlWriter.attribute(null, "resumeTime", Long.toString(value.firstResumedTime - value.createTime));
			}

			if (value.renderIsReadyTime >= value.createTime) {
				xmlWriter.attribute(null, "readyTime", Long.toString(value.renderIsReadyTime - value.createTime));
			}

			if (value.refreshCount > 0) {
				xmlWriter.attribute(null, "drawing",
					String.format(
						"frames:%d, avg:%.2f, min:%.2f, max:%.2f",
						value.refreshCount,
						(((double) value.totalDrawingDuration) / value.refreshCount / 1000.0),
						((double) value.minDrawingDuration / 1000.0),
						((double) value.maxDrawingDuration / 1000.0)
					)
				);
			}
			xmlWriter.endTag(null, "page");
		}
		xmlWriter.endTag(null, "pages");
		xmlWriter.endDocument();
		xmlWriter.flush();
		return true;
	} catch (IOException e) {
		XulLog.e(TAG, e);
	}
	return false;
}