C# XML输出 属性名带前缀的问题
本帖最后由 TaiJi1985 于 2013-03-14 10:43:20 编辑 任务: 要自动的向AndroidManifest.xml中加一个权限声明
原xml文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="96" android:versionName="0.96" package="org.aa.bb"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="@string/app_name" android:icon="@drawable/icon">
<meta-data android:name="com.a0soft.gphone.aTrackDog.webURL" android:value="http://code.google.com/p/get-a-robot-vpnc/" />
<meta-data android:name="com.a0soft.gphone.aTrackDog.dlURL" android:value="http://code.google.com/p/get-a-robot-vpnc/downloads/list?can=3" />
<activity android:label="@string/add_network" android:name=".cc" />
<activity android:label="@string/backend_file_manager" android:name=".BackendFileManager" />
<activity android:label="@string/app_name" android:name=".dd" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:label="VPNC" android:name="MonitorServiceImpl">
<intent-filter>
<action android:name="org.codeandroid.vpnc_frontend.MonitorServiceImpl" />
</intent-filter>
</service>
</application>
<uses-permission android:name="android.permission.VIBRATE" />
</manifest>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
desc_x.Load(@"E:\aa\AndroidManifest.xml");
XmlNode dn = desc_x.SelectSingleNode("/manifest");
XmlElement xn = desc_x.CreateElement("uses-permission");
XmlAttribute a = desc_x.CreateAttribute("android", "name", xn.NamespaceURI);
a.Value = "android.permission.READ_PHONE_STATE";
xn.Attributes.Append(a);
dn.AppendChild(xn);
string outfile = @"E:\aa\AndroidManifest2.xml";
desc_x.Save(outfile);
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="96" android:versionName="0.96" package="org.codeandroid.vpnc_frontend" xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="@string/app_name" android:icon="@drawable/icon">
<meta-data android:name="com.a0soft.gphone.aTrackDog.webURL" android:value="http://code.google.com/p/get-a-robot-vpnc/" />
<meta-data android:name="com.a0soft.gphone.aTrackDog.dlURL" android:value="http://code.google.com/p/get-a-robot-vpnc/downloads/list?can=3" />
<activity android:label="@string/add_network" android:name=".EditNetwork" />
<activity android:label="@string/backend_file_manager" android:name=".BackendFileManager" />
<activity android:label="@string/app_name" android:name=".VPNC" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:label="VPNC" android:name="MonitorServiceImpl">
<intent-filter>
<action android:name="org.codeandroid.vpnc_frontend.MonitorServiceImpl" />
</intent-filter>
</service>
</application>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission name="android.permission.READ_PHONE_STATE" /><!-- 这里 -->
</manifest>