操作XML文件

在unity中,不能像在winform中那么方便读取配置文件app.config,使用XML读取比较方便一点

 

1 新建Contact.xml文件,并编辑如下:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hand>
	<indx>
		<indx_k31>INDX K3 1</indx_k31> 
		<indx_k21>INDX K2 1</indx_k21> 
		<indx_k11>INDX K1 1</indx_k11> 		
	</indx>
	<midl>
		<midl_k31>MIDL K3 1</midl_k31> 
		<midl_k21>MIDL K2 1</midl_k21> 
		<midl_k11>MIDL K1 1</midl_k11> 		
	</midl>
	<pnky>
		<pnky_k31>PNKY K3 1</pnky_k31> 
		<pnky_k21>PNKY K2 1</pnky_k21> 
		<pnky_k11>PNKY K1 1</pnky_k11> 		
	</pnky>
	<ring>
		<ring_k31>RING K3 1</ring_k31> 
		<ring_k21>RING K2 1</ring_k21> 
		<ring_k11>RING K1 1</ring_k11> 		
	</ring>

	<thmb>
		<thmb_k21>THMB K2 1</thmb_k21> 
		<thmb_k11>THMB K1 1</thmb_k11> 		
	</thmb>
</hand>

2  在unity脚本中的Start方法中编辑,如下:

void Start ()
    {

        #region 从配置文件中读取手模型关节的名称
        if(File.Exists("Contact.xml")){
            //将文件加载进来
            XDocument document = XDocument.Load("Contact.xml");
            //获取根元素
            XElement root = document.Root;
            //获取indx节点下的所有元素
            IEnumerable<XElement>indxs=root.Element("indx").Elements();
            foreach (XElement item in indxs)
            {
                Debug.Log(item.Value);
            }

            //获取midl节点下的所有元素
            IEnumerable<XElement> midls = root.Element("midl").Elements();
            foreach (XElement item in midls)
            {
                Debug.Log(item.Value);
            }

            //获取pnky节点下的所有元素
            IEnumerable<XElement> pnkys = root.Element("pnky").Elements();
            foreach (XElement item in pnkys)
            {
                Debug.Log(item.Value);
            }

            //获取pnky节点下的所有元素
            IEnumerable<XElement> rings = root.Element("ring").Elements();
            foreach (XElement item in rings)
            {
                Debug.Log(item.Value);
            }

            //获取thmb节点下的所有元素
            IEnumerable<XElement> thmbs = root.Element("thmb").Elements();
            foreach (XElement item in thmbs)
            {
                Debug.Log(item.Value);
            }

        }
       

        #endregion
        
    }

 

打印输出如下图:

 

 

 

额外补充:

 

编程方式创建xml文件
XmlDocument xDoc=new XmlDocument();
 XmlDeclaration xmlDec= xDoc.CreateXmlDeclaration("1.0","utf-8","yes");
xDoc.AppendChild(xmlDec);
//创建根节点,并加入到xDoc中
xDoc.AppendChild(xDoc.CreateElement("Persons"));
//保存,参数是文件名
xDoc.Save("Contact.xml");


往Xml文件中写入内容
XmlDocument xDoc=new XmlDocument();
xDoc.Load("Contact.xml");                             //加载文档
XmlElement root=xDoc.DocumentElement;     //获取根节点

XmlElement xePerson= xDoc.CreateElement("person");  //新建Persons节点
xePerson.SetAttribute("phone","值");      //添加节点属性

//为person节点添加子节点Name
XmlElement xeName=xDoc.CreateElement("Name");
xeName.InnerText="值";                     //设置子节点的值
xePerson.AppendChild(xeName);
//为person节点添加子节点Sex
XmlElement xeSex=xDoc.CreteElement("Sex");
xeSex.InnerText="值";                        //设置子节点的值
xePerson.AppendChild(xeSex);

root.AppendChild(xePerson);       //把新节点添加到根节点下

xDoc.Save("Contact.xml");
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxy2847225301

测试使用

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值