这事我自己写的一个解析html xml 这类文件的库。为了使用到手机上,这个库无比要快而且要小。 不求完全自动但求简洁完全自控。有python版本 和java版本。 相信一直到其他语言也是相当容易。 在googlecode上有源码https://code.google.com/p/tagparser/ ,不用太多讲解 ,因为相当的小 只有一两百行 。直接看源码即可。
说过例子吧:
很多人需要提取网页的一些内容, 可以利用正则表达式提取,也可以用beautifulsoap等工具. 正则表达式方法速度快,缺点是不好找到匹配的正则. 其他类似beautiful的工具因为要全面分析html,而html不像xml那么严格,语法比较复杂所以效率很糟糕.这个工具就是为了处里这种问题的.
这个工程只有一个文件 .tagparser.py 它可以方便分析像xml html 等这种标记语言. 只要他是'<'和'>'括起来的标记语言.
分析的方式是'抽'式的.也就是说扫描一个个字符 当遇到一个tag时 也就是遇到一个<>的时候,回调一个函数onGetTag() ,可以重载这个函数做自己的处理.
如遇到遇到内容 回调 onGetTxt(txtstr) , txtstr是如:<tag>xxxxxxxxx</tag> xxxxx即内容回调 onGetTag(tagstr, tagstro). tagstr = p tagstro = P tagstr 是小写的tag tagstro是源文件的大小写状态