下面列出了android.util.Xml.Encoding#org.xmlpull.v1.XmlPullParserFactory 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@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;
}
@Override
public void applyRestore(byte[] payload, int user) {
if (Binder.getCallingUid() != SYSTEM_UID) {
throw new SecurityException("Caller must be system");
}
if (payload == null) {
Slog.w(TAG, "applyRestore: no payload to restore for user " + user);
return;
}
//TODO: http://b/22388012
if (user != UserHandle.USER_SYSTEM) {
Slog.w(TAG, "applyRestore: cannot restore policy for user " + user);
return;
}
final ByteArrayInputStream bais = new ByteArrayInputStream(payload);
try {
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setInput(bais, Encoding.UTF_8.name());
mPermissions.readRestore(parser);
} catch (NumberFormatException | XmlPullParserException | IOException e) {
Slog.w(TAG, "applyRestore: error reading payload", e);
}
}
public static String getFromXml(String xmlmsg, String node) throws XmlPullParserException, IOException {
String xl = xmlmsg.substring(xmlmsg.indexOf("<msg>"));
//nativeurl
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser pz = factory.newPullParser();
pz.setInput(new StringReader(xl));
int eventType = pz.getEventType();
String result = "";
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
if (pz.getName().equals(node)) {
pz.nextToken();
result = pz.getText();
break;
}
}
eventType = pz.next();
}
return result;
}
private
@Nullable
JSONObject convertToJSONObject() {
try {
Tag parentTag = new Tag("", "xml");
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false); // tags with namespace are taken as-is ("namespace:tagname")
XmlPullParser xpp = factory.newPullParser();
setInput(xpp);
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.START_DOCUMENT) {
eventType = xpp.next();
}
readTags(parentTag, xpp);
unsetInput();
return convertTagToJson(parentTag, false);
} catch (XmlPullParserException | IOException e) {
e.printStackTrace();
return null;
}
}
/**
* Creates a new instance of Dsmlv2Parser.
*
* @param storeMsgInBatchReq flag to set if the parsed requests should b stored
* @throws XmlPullParserException if an error occurs during the initialization of the parser
*/
public Dsmlv2Parser( boolean storeMsgInBatchReq ) throws XmlPullParserException
{
this.storeMsgInBatchReq = storeMsgInBatchReq;
this.grammar = new Dsmlv2Grammar();
this.container = new Dsmlv2Container( grammar.getLdapCodecService() );
this.container.setGrammar( grammar );
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware( true );
XmlPullParser xpp = factory.newPullParser();
container.setParser( xpp );
}
private String getFromXml(String xmlmsg, String node) throws XmlPullParserException, IOException {
String xl = xmlmsg.substring(xmlmsg.indexOf("<msg>"));
//nativeurl
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser pz = factory.newPullParser();
pz.setInput(new StringReader(xl));
int v = pz.getEventType();
String result = "";
while (v != XmlPullParser.END_DOCUMENT) {
if (v == XmlPullParser.START_TAG) {
if (pz.getName().equals(node)) {
pz.nextToken();
result = pz.getText();
break;
}
}
v = pz.next();
}
return result;
}
private
@Nullable
JSONObject convertToJSONObject() {
try {
Tag parentTag = new Tag("", "xml");
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false); // tags with namespace are taken as-is ("namespace:tagname")
XmlPullParser xpp = factory.newPullParser();
setInput(xpp);
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.START_DOCUMENT) {
eventType = xpp.next();
}
readTags(parentTag, xpp);
unsetInput();
return convertTagToJson(parentTag, false);
} catch (XmlPullParserException | IOException e) {
e.printStackTrace();
return null;
}
}
@Override
public final void write(OutputStream out) throws IOException
{
try
{
xml = XmlPullParserFactory.newInstance().newSerializer();
}
catch(XmlPullParserException e)
{
throw new RuntimeException("Cannot initialize serializer", e);
}
xml.setOutput(out, CHARSET);
xml.startDocument(CHARSET, null);
write();
if(xml.getName() != null)
{
throw new IllegalStateException("Forgot to close a tag");
}
xml.endDocument();
xml.flush();
}
public static List<Program> parse(String in) throws XmlPullParserException, IOException {
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
Log.d(TAG, "Start parsing");
Log.d(TAG, in.substring(0, 36));
xpp.setInput(new StringReader(in));
int eventType = xpp.getEventType();
Log.d(TAG, eventType+"");
// if(eventType == XmlPullParser.START_DOCUMENT)
// xpp.next();
/*
xpp.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
xpp.setInput(new InputStreamReader(in));*/
/*xpp.nextTag();
xpp.nextTag();
*/return readFeed(xpp);
} finally {
// in.close();
}
}
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;
}
public Rss2Parser() {
// Initialize DateFormat object with the default date formatting
dateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.US);
dateFormat.setTimeZone(Calendar.getInstance().getTimeZone());
pattern = Pattern.compile("-\\d{1,4}x\\d{1,4}");
// Initialize XmlPullParser object with a common configuration
XmlPullParser parser = null;
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false);
parser = factory.newPullParser();
}
catch (XmlPullParserException e) {
e.printStackTrace();
}
xmlParser = parser;
}
public TtmlDecoder() {
super("TtmlDecoder");
try {
xmlParserFactory = XmlPullParserFactory.newInstance();
xmlParserFactory.setNamespaceAware(true);
} catch (XmlPullParserException e) {
throw new RuntimeException("Couldn't create XmlPullParserFactory instance", e);
}
}
private static XmlPullParser buildParser(CharSequence contents) throws XmlPullParserException {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(new StringReader(contents.toString()));
return xpp;
}
public SsManifestParser() {
try {
xmlParserFactory = XmlPullParserFactory.newInstance();
} catch (XmlPullParserException e) {
throw new RuntimeException("Couldn't create XmlPullParserFactory instance", e);
}
}
protected XmlPullParser loadXml(InputStream stream) throws XmlPullParserException, IOException {
BufferedInputStream input = new BufferedInputStream(stream);
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
factory.setNamespaceAware(true);
factory.setFeature(XmlPullParser.FEATURE_PROCESS_DOCDECL, false);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(input, "UTF-8");
next(xpp);
nextNoWhitespace(xpp);
return xpp;
}
protected XmlPullParser loadXml(InputStream stream) throws XmlPullParserException, IOException {
BufferedInputStream input = new BufferedInputStream(stream);
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(input, "UTF-8");
xpp.next();
return xpp;
}
protected XmlPullParser loadXml(InputStream stream) throws XmlPullParserException, IOException {
BufferedInputStream input = new BufferedInputStream(stream);
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(input, "UTF-8");
next(xpp);
nextNoWhitespace(xpp);
return xpp;
}
protected XmlPullParser loadXml(InputStream stream) throws XmlPullParserException, IOException {
BufferedInputStream input = new BufferedInputStream(stream);
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
factory.setNamespaceAware(true);
factory.setFeature(XmlPullParser.FEATURE_PROCESS_DOCDECL, false);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(input, "UTF-8");
next(xpp);
nextNoWhitespace(xpp);
return xpp;
}
protected XmlPullParser loadXml(InputStream stream) throws XmlPullParserException, IOException {
BufferedInputStream input = new BufferedInputStream(stream);
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(input, "UTF-8");
xpp.next();
return xpp;
}
protected XmlPullParser loadXml(InputStream stream) throws XmlPullParserException, IOException {
BufferedInputStream input = new BufferedInputStream(stream);
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
factory.setNamespaceAware(true);
factory.setFeature(XmlPullParser.FEATURE_PROCESS_DOCDECL, false);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(input, "UTF-8");
next(xpp);
nextNoWhitespace(xpp);
return xpp;
}
private ParserHolder getParser(String fileName)
throws FileNotFoundException, XmlPullParserException {
AtomicFile file = getFile(fileName);
ParserHolder holder = new ParserHolder();
holder.input = file.openRead();
holder.parser = XmlPullParserFactory.newInstance().newPullParser();
holder.parser.setInput(holder.input, Encoding.UTF_8.name());
return holder;
}
public TtmlDecoder() {
super("TtmlDecoder");
try {
xmlParserFactory = XmlPullParserFactory.newInstance();
xmlParserFactory.setNamespaceAware(true);
} catch (XmlPullParserException e) {
throw new RuntimeException("Couldn't create XmlPullParserFactory instance", e);
}
}
/**
* Resets the parser using the latest connection's reader. Reseting the parser is necessary
* when the plain connection has been secured or when a new opening stream element is going
* to be sent by the server.
*/
private void resetParser() {
try {
parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);
parser.setInput(connection.reader);
}
catch (XmlPullParserException xppe) {
xppe.printStackTrace();
}
}
OnvifParser() {
try {
xmlFactory = XmlPullParserFactory.newInstance();
xmlFactory.setNamespaceAware(true);
xpp = xmlFactory.newPullParser();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
private void parseCameraModels() {
try {
XmlPullParserFactory xppf = XmlPullParserFactory.newInstance();
xppf.setNamespaceAware(true);
XmlPullParser xpp = xppf.newPullParser();
InputStream is = new FileInputStream(new File(mApplication.getFilesDir(), FILENAME));
xpp.setInput(is, null);
parseCameraModels(xpp);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected Void doInBackground(Void... voids) {
try {
XmlPullParser xmlPullParser = XmlPullParserFactory.newInstance().newPullParser();
xmlPullParser.setInput(new StringReader(response));
boolean isLocationTag = false;
int eventType = xmlPullParser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
if (xmlPullParser.getName().equals("Location")) {
isLocationTag = true;
}
} else if (eventType == XmlPullParser.TEXT) {
if (isLocationTag) {
imageUrl = xmlPullParser.getText();
successful = true;
return null;
}
}
eventType = xmlPullParser.next();
}
} catch (XmlPullParserException | IOException e) {
e.printStackTrace();
successful = false;
}
return null;
}
@VisibleForTesting static SearchEngine load(String identifier, InputStream stream) throws IOException, XmlPullParserException {
final SearchEngine searchEngine = new SearchEngine(identifier);
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setInput(new InputStreamReader(stream, StandardCharsets.UTF_8));
parser.next();
readSearchPlugin(parser, searchEngine);
return searchEngine;
}
public TtmlDecoder() {
super("TtmlDecoder");
try {
xmlParserFactory = XmlPullParserFactory.newInstance();
xmlParserFactory.setNamespaceAware(true);
} catch (XmlPullParserException e) {
throw new RuntimeException("Couldn't create XmlPullParserFactory instance", e);
}
}
/**
* @param contentId An optional content identifier to include in the parsed manifest.
*/
public DashManifestParser(String contentId) {
this.contentId = contentId;
try {
xmlParserFactory = XmlPullParserFactory.newInstance();
} catch (XmlPullParserException e) {
throw new RuntimeException("Couldn't create XmlPullParserFactory instance", e);
}
}
public TtmlDecoder() {
super("TtmlDecoder");
try {
xmlParserFactory = XmlPullParserFactory.newInstance();
xmlParserFactory.setNamespaceAware(true);
} catch (XmlPullParserException e) {
throw new RuntimeException("Couldn't create XmlPullParserFactory instance", e);
}
}