Unity使用Mono.Xml代替System.Xml 测试
2024-10-18 02:52:34
测试环境
操作系统:Windows8.1
开发工具:Unity5.5.2
1、新建一个测试项目,观测引用System.Xml与Mono.Xml解析文件正确性,与打包后APK体积大小。
2、Mono.Xml 用例
using UnityEngine;
using Mono.Xml;
using System.Security; public class MonoXmlTest : MonoBehaviour { void Start () { SecurityParser parser = new SecurityParser(); string xmlPath = "test"; parser.LoadXml(Resources.Load(xmlPath).ToString()); SecurityElement element = parser.ToXml(); foreach (SecurityElement node in element.Children)
{
if (node.Tag == "table")
{
string wave = node.Attribute("wave");
string level = node.Attribute("level");
string name = node.Attribute("name");
Debug.Log("wave:" + wave + " level:" + level + " name:" + name);
} }
} }
- 结果正确:
- 安装包大小:
编译日志可以观测到没有引用System.Xml.dll(该文件约1mb)
Mono dependencies included in the build
Dependency assembly - Mono.Security.dll
Dependency assembly - System.Core.dll
Dependency assembly - System.dll
Dependency assembly - mscorlib.dll
Dependency assembly - UnityEngine.UI.dll
Dependency assembly - UnityEngine.Networking.dll
Dependency assembly - UnityEngine.PlaymodeTestsRunner.dll
Dependency assembly - Assembly-CSharp.dll
3、System.xml用例
using UnityEngine;
using System.Xml; public class SystemXmlTest : MonoBehaviour { // Use this for initialization
void Start () { XmlDocument xml = new XmlDocument();
XmlReaderSettings set = new XmlReaderSettings();
xml.LoadXml(Resources.Load("test").ToString()); XmlNodeList nodes = xml.SelectSingleNode("ROOT").ChildNodes; foreach (XmlElement node in nodes)
{
string wave = node.GetAttribute("wave");
string level = node.GetAttribute("level");
string name = node.GetAttribute("name"); Debug.Log("wave:" + wave + " level:" + level + " name:" + name);
} } }
- 结果正确:
- 安装包大小:
- 编译日志:可以观测到引用System.Xml.dll(该文件约1mb)
编译日志:可以观测到引用System.Xml.dll(该文件约1mb) Mono dependencies included in the build
Dependency assembly - Mono.Security.dll
Dependency assembly - System.Core.dll
Dependency assembly - System.Xml.dll
Dependency assembly - System.dll
Dependency assembly - mscorlib.dll
Dependency assembly - UnityEngine.UI.dll
Dependency assembly - UnityEngine.Networking.dll
Dependency assembly - UnityEngine.PlaymodeTestsRunner.dll
Dependency assembly - Assembly-CSharp.dll
4、结论:使用Mono.Xml代替System.Xml在APK安装包编译后,体积减小约400kb,建议使用Mono.Xml
最新文章
- Leetcode: Sudoku Solver
- JavaScript——特殊点总结
- Mac OS X 设置取消开机自动启动
- HTTP 错误 500.19 - Internal Server Error
- 引入第三方库错误Undefined symbols for architecture i386: _OBJC_CLASS_$的解决方案
- hdu 2200
- JS学习笔记(一)基本数据类型和对象类型
- eclipse之The currrently displayed page contains invalid values错误
- HTML特殊符号对照表 常用字符实体
- windows sevser 2012搭建网站
- [LeetCode] Single Element in a Sorted Array 有序数组中的单独元素
- 构建基础的SpringMVC+Hibernate+SpringloC项目
- 初学Java Web(5)——cookie-session学习
- 关于dubbo+zookeeper微服务的一些认识记录
- SpringBoot系列——mail
- 【2018.05.11 智能驾驶/汽车电子】非技术向:关于Simulink和AutoSar的几种观点
- (原)visual studio 2015中添加dll路径
- T-net 【贪心】
- Linux下apache activemq的安装与配置
- UniConnectDialog使用