Unity3D研究院之使用 C#合成解析XML与JSON(四十一)
雨松MOMO 【Unity3D研究院之游戏开发】 围观18618次 42条评论 编辑日期:2012-11-29 字体:大中 小
width="300" height="250" align="center,center" id="cproIframe_u1121907_1" src="http://pos.baidu.com/acom?adn=4&at=134&aurl=&cad=1&ccd=24&cec=utf-8&cfv=0&ch=0&col=zh-CN&conOP=0&cpa=1&dai=1&dis=0&layout_filter=rank%2Ctabcloud<r=http%3A%2F%2Fwww.xuanyusong.com%2F%3Fs%3Dxml<u=http%3A%2F%2Fwww.xuanyusong.com%2Farchives%2F1901&lunum=6&n=92004029_cpr&pcs=1670x857&pis=10000x10000&ps=369x1154&psr=1670x939&pss=1670x857&qn=01fbce9958ad5f30&rad=&rsi0=300&rsi1=250&rsi5=4&rss0=%23FFFFFF&rss1=%23FFFFFF&rss2=%230000FF&rss3=%23444444&rss4=%23008000&rss5=&rss6=%23e10900&rss7=&scale=&skin=&td_id=1121907&tn=text_default_300_250&tpr=1422257952178&ts=1&version=2.0&xuanting=0&dtm=BAIDU_DUP2_SETJSONADSLOT&dc=2&di=u1121907" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="true">
XML与JSON在开发中非常重要, 其实核心就是处理字符串。一个是XML的字符串一个是JSON的字符串,尤其是在处理网络请求的时候,肯定是要用的。另外现在JSON非常的流行,我写了一个简单的例子融合了XML与JSON的合成与解析,希望大家喜欢!
首先注意头文件,LitJson是处理JSON的第三方库,最后我会给出下载地址。
1、生成XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
public
void
createXml
(
)
{
//xml保存的路径,这里放在Assets路径 注意路径。
string
filepath
=
Application
.
dataPath
+
@"/my.xml"
;
//继续判断当前路径下是否有该文件
if
(
!
File
.
Exists
(
filepath
)
)
{
//创建XML文档实例
XmlDocument
xmlDoc
=
new
XmlDocument
(
)
;
//创建root节点,也就是最上一层节点
XmlElement
root
=
xmlDoc
.
CreateElement
(
"transforms"
)
;
//继续创建下一层节点
XmlElement
elmNew
=
xmlDoc
.
CreateElement
(
"rotation"
)
;
//设置节点的两个属性 ID 和 NAME
elmNew
.
SetAttribute
(
"id"
,
"0"
)
;
elmNew
.
SetAttribute
(
"name"
,
"momo"
)
;
//继续创建下一层节点
XmlElement
rotation_X
=
xmlDoc
.
CreateElement
(
"x"
)
;
//设置节点中的数值
rotation_X
.
InnerText
=
"0"
;
XmlElement
rotation_Y
=
xmlDoc
.
CreateElement
(
"y"
)
;
rotation_Y
.
InnerText
=
"1"
;
XmlElement
rotation_Z
=
xmlDoc
.
CreateElement
(
"z"
)
;
rotation_Z
.
InnerText
=
"2"
;
//这里在添加一个节点属性,用来区分。。
rotation_Z
.
SetAttribute
(
"id"
,
"1"
)
;
//把节点一层一层的添加至XMLDoc中 ,请仔细看它们之间的先后顺序,这将是生成XML文件的顺序
elmNew
.
AppendChild
(
rotation_X
)
;
elmNew
.
AppendChild
(
rotation_Y
)
;
elmNew
.
AppendChild
(
rotation_Z
)
;
root
.
AppendChild
(
elmNew
)
;
xmlDoc
.
AppendChild
(
root
)
;
//把XML文件保存至本地
xmlDoc
.
Save
(
filepath
)
;
Debug
.
Log
(
"createXml OK!"
)
;
}
}
|
运行结果
1
2
3
4
5
6
7
|
<
transforms
>
<
rotation
id
=
"0"
name
=
"momo"
>
<
x
>
0
<
/
x
>
<
y
>
1
<
/
y
>
<
z
id
=
"1"
>
2
<
/
z
>
<
/
rotation
>
<
/
transforms
>
|
2.更新XML文件
以其中某个节点名称做条件,当查询到时更新该节点
运行结果
3.添加XML
重复的地方我就不解释拉。
运行结果
运行结果(点击图片最大化)
接着是处理JSON
5.解析JSON字符串显示字典键值
运行结果
6.合成JSON字符串,先合成 然后在输出。
运行结果
工程下载: http://vdisk.weibo.com/s/jkBml
雨松MOMO祝大家学习愉快,哈哈哈。