DOM对XML的语法解析器

原创 2015年11月18日 21:19:31

哇塞,人生中的第一篇博客,好激动,好兴奋,先来篇原创小试牛刀

需要解决的问题如下:最近在做Android逆向,当然少不了对全局配置文件的解析(AndroidManifest.xml),针对permission权限的读取进行DOM语法树的解析。permission的配置文件如下图所示:

我们的目的是解析出所有的uses-permission权限。废话不多说,直接上核心代码:

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;


public class DomManifest {
	public static void main(String[] args){
		try{
			DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
			DocumentBuilder dbBuilder = dbFactory.newDocumentBuilder();
			Document doc = dbBuilder.parse("C:\\AndroidManifest1.xml");
									
			NodeList student = doc.getElementsByTagName("uses-permission");
			for(int i = 0;i<student.getLength();i++){
				Element studentElement = (Element)student.item(i);
				String permission = studentElement.getAttribute("android:name");
				System.out.println(permission);
			}
		}catch (Exception e) {
			e.getStackTrace();
		}
	}
}
然后我们就阔以看到如下的运行效果:

结果出来了,有木有很开心~~~O(∩_∩)O哈哈~

DOM语法树的构建网上很多,本文主要针对节点的属性进行获取。

词法语法解析器

  • 2012年08月20日 00:37
  • 471KB
  • 下载

词法语法解析器

  • 2012年06月25日 15:04
  • 108KB
  • 下载

用antlr实现将SQL转换成EQL(Ehcache Search Query)的语法解析器

本文的目的 用ehcache实现对数据库的对象缓存,并且能够使用SQL直接从缓存中搜索已经缓存的对象。由于SQL语句与EQL(EhcacheSearch Query)在形式上完全不同,我们就需要将S...

C# lexer 语法解析器

  • 2008年09月09日 19:02
  • 512KB
  • 下载

boost spirit ——编译器,语法解析器

使用spirit能很方便的解析自定义的语法规则,在他的文档中也说明了spirit与regex还有其他库的不同点。灵活,伸缩性好,可以用来搭建小的语法解析器也可以用来开发大型编译器等等。 boost:...

postgresql内核语法解析器详解

postgresql内核语法解析器详解概述前面博文中谈过parser语法解析模块,但没深入介绍,本文相对详细的介绍下,对postgresql语法解析模块初步揭密。...

使用Python语言编写简单的HTML5语法解析器

使用Python语言编写简单的HTML5语法解析器 摘要:通过使用Python语言编写一个简单的HTML5语法解析器作为例子,探讨了在设计手写的递归下降语法解析器程序时需要注意的一些事项。   关...
  • cteng
  • cteng
  • 2014年09月04日 10:35
  • 2041

json语法解析器

前言最近正在补习编译原理的相关理论基础。于是琢磨着写个简单的语言解析器。0x00. 根基1. python编程(ply库) 2. 正则表达式 0x01. 了解json的语法规范1. json里的字典k...

用flex & bison (lex & yacc)创建可重入(线程安全)的词法分析和语法解析器

使用flex(lex)和bison(yacc)可以非常方便的创建词法分析和语法分析器,典型的这类程序都是 使用一些全局变量进行信息的传递,这也是程序默认的方式,比如:flex解析到一个string...

编译原理动手实操,用java实现编译器-算术表达式及其语法解析器的实现

大家在参考本节时,请先阅读以下博文,进行预热: http://blog.csdn.net/tyler_download/article/details/50708807   本节代码下载地址: htt...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DOM对XML的语法解析器
举报原因:
原因补充:

(最多只允许输入30个字)