Php 解析AndroidManifest属性
我用PHP制作了一个简单的apk上传程序,我想解析清单属性表单Php 解析AndroidManifest属性,php,android,android-manifest,Php,Android,Android Manifest,我用PHP制作了一个简单的apk上传程序,我想解析清单属性表单AndroidManifest.xml,但我遇到了以下错误,有什么想法吗 Fatal error: Call to a member function xpath() on a non-object in E:\AppServ\www\apkUploader\mainApi.php on line 21 第21行=$versionName=$xml->xpath('/manifest/@android:versionName')
AndroidManifest.xml
,但我遇到了以下错误,有什么想法吗
Fatal error: Call to a member function xpath() on a non-object in E:\AppServ\www\apkUploader\mainApi.php on line 21
第21行=$versionName=$xml->xpath('/manifest/@android:versionName')代码>
源代码:
Apk文件的/**/
如果($_文件[“mFile”][“type”]=“application/vnd.android.package archive”)|;($_文件[“mFile”][“type”]=“application/octet stream”))
{
如果($_文件[“mFile”][“error”]>0)
{
回显“返回代码:”.$\u文件[“mFile”][“error”]。“
”;
}
其他的
{
echo“上传:.”文件[“mFile”][“name”]。“
”;
echo“Type:”.$\u文件[“mFile”][“Type”]。“
”;
回显“大小:”($_文件[“mFile”][“Size”]/1024)。“Kb
”;
回显“临时文件:.”文件[“mFile”][“tmp_名称”]。“
”;
错误报告(E|u错误| E|u解析);
$dom=新的DOMDocument();
$dom->load('AndroidManifest.xml');
$xml=simplexml\u import\u dom($dom);
$versionName=$xml->xpath('/manifest/@android:versionName');
$versionCode=$xml->xpath('/manifest/@android:versionCode');
$package=$xml->xpath('/manifest/@package');
echo“VERSION NAME:.$versionName[0]->versionName.
”;
echo“版本代码:”.$versionCode[0]->versionCode.
”;
echo“VERSION PAC:.$package[0]->package.
;
如果(文件存在(“上载/”$\u文件[“mFile”][“name”]))
{
echo$\u文件[“mFile”][“name”]。“已存在。”;
}
其他的
{
移动上传的文件($文件[“mFile”][“tmp文件名”],
“上载/”$_文件[“mFile”][“name”]);
echo“存储在:“.”upload/“$\u文件[“mFile”][“name”];
}
}
}
其他的
{
回显“无效文件”;
}
它看起来像$xml=simplexml\u import\u dom($dom)代码>不返回有效的对象。这通常意味着无法加载或解析文件
不要忘记检查是否有错误:
$xml = simplexml_import_dom($dom);
if (!$xml)
{
// An error occurred
}
+1,谢谢你提到它,我怎样才能在apk文件(类似于zip文件)中获取XML来阅读它呢?好吧,我想你应该发布另一个关于这个的问题(对不起,我不知道答案)。
$xml = simplexml_import_dom($dom);
if (!$xml)
{
// An error occurred
}