在Android中解析XML注释
出于个人目的,我想解析Android清单文件中的注释。在这些注释中,可以有我想要提取的带有属性和值的标记。它类似于html文件中通常被注释的标记,因为某些浏览器不支持此标记。所以我想在android清单中实现类似的东西在Android中解析XML注释,android,xml-parsing,saxparser,Android,Xml Parsing,Saxparser,出于个人目的,我想解析Android清单文件中的注释。在这些注释中,可以有我想要提取的带有属性和值的标记。它类似于html文件中通常被注释的标记,因为某些浏览器不支持此标记。所以我想在android清单中实现类似的东西 我知道在Android中,清单文件是使用SAXParser解析的。此外,我认为我应该为此使用LexicalHandler,但我以前从未遇到过这种功能,我想知道如何做到这一点。非常感谢您的代码片段和任何帮助 我认为这是不可能的,因为AndroidManifest不能作为类路径资源使
我知道在Android中,清单文件是使用SAXParser解析的。此外,我认为我应该为此使用LexicalHandler,但我以前从未遇到过这种功能,我想知道如何做到这一点。非常感谢您的代码片段和任何帮助 我认为这是不可能的,因为AndroidManifest不能作为类路径资源使用。我能想到的唯一方法是将AndroidManifest.xml复制到源文件中,并使用ant目标将其构建为编译对象
然后使用XML API像访问普通XML文件一样访问它。我不想成为那个家伙,但您可能应该在/assets/中维护您的自定义XML,而不是重载manifest.XML文件。我完全确定您无法解析原始XML清单,因为与
res
文件夹中的所有内容一样(除了res/raw
),清单以二进制格式编译和存储,因此注释被删除
也许您可以使用xmlns并捕获清单解析……但我对此表示怀疑,清单是由包管理器解释的,我认为您无法访问它
解决方案(来自您的反馈):请求的功能是不可能的,因为在编译过程中,来自AndroidManifest文件的所有注释都将被删除 您可以通过以下方式进行检查:
你应该试着找到其他方法。我正在处理框架层,以便能够解析AndroidManifest。唯一的问题是我不知道如何做到这一点。我认为它可以被视为一个简单的xml文件,但我需要知道如何从注释中提取标记及其属性。此外,在Manifest文件中可能有多个注释,例如这就是我需要tags.Understand的原因,但运行时类路径中不存在XML文件(除非通过复制使其存在)你是什么意思?假设你有一个软件包安装程序。它解析AndroidManifest文件并向用户表示信息。所以在这个级别上,我想我可以解析这个xml文件。或者我不理解一些东西,因为实际上我从来没有认真面对过xml解析。如果你想在运行时读取文件,你有几个选择:你知道实际文件在文件系统中的位置,例如新文件(“/etc/passwd”),或者从类路径线程.getContextClassLoader().getResource(“/META-INF/MANIFEST.MF”)获取。这是我担心的。我正在考虑这个问题,但我不确定。非常感谢!