pascallantzsch
Goto Top

AndroidManifest.xml mit php bearbeiten

Hallo liebe Community,

folgendes Problem:

Ich möchte gerne die AndroidManifest.xml bearbeiten und somit dort Werte austauschen, allerdings übersteigt das gerade irgendwie mein Verständnis von der XML Bearbeitung, vielleicht kann mich ja hier ein freundlicher User auf den richtigen Weg bringen...

Folgende Manifest Anordnung
 
<manifest>
<application>
<meta-data android:name="Source" android:value="custom"/>  
<meta-data android:name="website" android:value="http://website.de"/>  <!-- Diese Zeile will ich bearbeiten -->  
<meta-data android:name="SaveLogToDisk" android:value="false"/>  
</application>
</manifest>
folgendes habe ich bereits versucht

 
<? 
$xml = simplexml_load_file($androidManifestDir);
$xml->manifest->application->meta-data[@android:value] = 'http://website.de';  
$xml->asXML($androidManifestDir);
?>

da bekomme ich aber natürlich einen Fehler wegen "-" & ":"

Die Frage ist für einen Kenner denke ich einfach... wie spreche ich die gewünschte Zeile richtig an? da es ja mehrere Zeilen mit <meta-data gibt und er das "-" & den ":" mir als Fehler ausgibt.

Vielen Dank schonmal face-smile

Content-ID: 259563

Url: https://administrator.de/contentid/259563

Ausgedruckt am: 24.11.2024 um 23:11 Uhr

colinardo
Lösung colinardo 12.01.2015, aktualisiert am 25.02.2015 um 17:34:23 Uhr
Goto Top
Hallo pascalllantzsch,
also für folgendes well-formed XML-Manifest mit Definition des Namespaces (was bei dir oben fehlt) geht das so
back-to-topManifest
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> 
	<application>
		<meta-data android:name="Source" android:value="custom"/> 
		<meta-data android:name="website" android:value="http://website.de"/>  <!-- Diese Zeile will ich bearbeiten --> 
		<meta-data android:name="SaveLogToDisk" android:value="false"/> 
	</application>
</manifest>
back-to-topPHP-Code
$xml = simplexml_load_file($androidManifestDir);
$result = $xml->xpath("/manifest/application/meta-data[@android:name='website']");  
if ($result) {
     $result->attributes('android',true)->{'value'} = 'http://www.demo.de';  
     $xml->asXML($androidManifestDir);
}
Grüße Uwe
pascallantzsch
pascallantzsch 13.01.2015 um 09:04:07 Uhr
Goto Top
Die Definition des Namespaces hatte ich weg gelassen face-big-smile
Aber danke dir, hat wunderbar funktioniert face-smile