【Unity3d】C#使用XmlDocument读写xml含冒号的节点(含命名空间)
2020年07月23日
| 萬仟网IT编程
| 我要评论
发现在使用C#的XmlDocument读写XML文件时,读写带冒号的节点时,冒号前的内容给忽略了。举个例子,以下是AndroidManifest.xml文件的部分内容:
发现在使用C#的XmlDocument读写XML文件时,读写带冒号的节点时,冒号前的内容给忽略了。
举个例子,以下是AndroidManifest.xml文件的部分内容:
...
当使用c#的XmlDocument来动态添加权限时,
一般我们会这样写:
string amFilePath = ".../AndroidManifest.xml";
XmlDocument amXmlDocument = new XmlDocument ();
amXmlDocument.Load (amFilePath);
XmlNode manifestNode = amXmlDocument.SelectSingleNode ("/manifest");
ArrayList permissionList = ...;
foreach (string permissionStr in permissionList) {
XmlElement permissionElement = amXmlDocument.CreateElement ("uses-permission");
permissionElement.SetAttribute ("android:name", permissionStr);
manifestNode.AppendChild (permissionElement);
}
amXmlDocument.Save (amFilePath);
这样写后,最后生成的节点是这样的:
...
发现name前的"android"没有了。这样当然是不对的。
正确的写法是在创建节点时指定命名空间,这个命名空间是已经在根节点中存在的。
正确代码如下:
foreach (string permissionStr in permissionList) {
XmlElement permissionElement = amXmlDocument.CreateElement ("uses-permission");
permissionElement.SetAttribute ("name", "http://schemas.android.com/apk/res/android", permissionStr);
manifestNode.AppendChild (permissionElement);
}
这样生成的节点属性名称就是"android:name"。
需要注意的是,CreateELement方法和SetAttribute方法都有重载方法支持添加命名空间。
本文地址:https://blog.youkuaiyun.com/devnn/article/details/107515608
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
相关文章:
字符串: C#中$的用法: 是为了替代string.format();https://www.cnblogs.com/hilolin/p/91239...
1 public Form1() 2 { 3 InitializeComponent(); 4 treeView1.AllowDrop = true...
"回到目录" LindDotNetCore中间件 大叔认识中间件就是主要对 http请求进行拦截 ,然后添加具体个性化功能的逻辑,这种把请求切开,添...
.net dataexcel通信使用 搭建简单文件服务器
使用.net dataexcel通信搭建一个简单的文件服务器。
通信简单介绍
1,通信使用tcp协...
SignalR是一个.NET Core/.NET Framework的实时通讯的框架,一般应用在ASP.NET上,当然也可以应用在Winform上实...
整理docker中常用的命令,方便大家学习和命令查询。最后分享一个.NET Core docker部署的示例 ...
repeater中footertemplate并无findcontrol方法,也无法将footertemplate转成repeate...
什么是物联网网关?物联网网关是物联网领域的一种通信技术。层次架构:感知层终端设备->网关->骨干网-...
前言
2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年。
元旦放假在家写了个asp.net core验证码...
一、进入插入模板
1、protectedvoid fvwitemdetails_modechanging(object sender,formviewmode...
网友评论
验证码: