博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
02.XML
阅读量:6676 次
发布时间:2019-06-25

本文共 5613 字,大约阅读时间需要 18 分钟。

01.创建XML文件

先锋书店
Everday
MrsTang
2020
500
快乐书店
Everday
MrsZhang
1984
600

02.解析

using System;using System.Collections.Generic;using System.IO;using System.Xml;namespace XMl{
class Program {
static void Main(string[] args) {
List
books =ParseXmol(@"C:\Users\911512\source\repos\XMl\XMl\MyXml.xml"); for (int i = 0; i < books.Count; i++) {
Console.WriteLine(books[i].Lang); } Console.ReadKey(); } static List
ParseXmol(string path) {
List
list = null; try {
list=new List
(); XmlDocument xml=new XmlDocument(); //验证XML文档时经常用到的一个类 XmlReaderSettings settings =new XmlReaderSettings(); //是否忽略注释。 settings.IgnoreComments = true; if (!File.Exists(path)) {
Console.WriteLine("路径不存在:"+path); } //为指定路径的文件创建 StreamReader 类的实例 从流中读取字符串 using (StreamReader reader=new StreamReader(path)) {
//读取来自流的当前位置到结尾的所有字符 string books=reader.ReadToEnd(); //从指定的字符串加载 XML 文档 //字符串的格式已经为xml类型,用loadxml进行解析 xml.LoadXml(books); //获取根节点 XmlNode rooNode =xml.SelectSingleNode("root"); //获取根节点下所有的的子节点 XmlNodeList nodeList=rooNode.ChildNodes; foreach (XmlNode node in nodeList) {
Book book=new Book(); int id = int.Parse(node.Attributes[1].InnerText); string catagory = node.Attributes[0].InnerText; string name = node["name"].InnerText; string title = node["title"].InnerText; //将节点转换为元素 以便于获取属性值 XmlElement element = (XmlElement)node["title"]; string lang = element.GetAttribute("lang"); int year = int.Parse(node["year"].InnerText); int price= int.Parse(node["price"].InnerText); book.Id = id; book.Catagory = catagory; book.Name = name; book.Title = title; book.Lang = lang; book.Year = year; book.Price = price; list.Add(book); } } } catch (Exception e) {
Console.WriteLine(e); } return list; } } public class Book {
public int Id {
get; set;} public string Catagory {
get; set; } public string Name {
get; set; } public string Title {
get; set; } public string Lang {
get; set; } public int Year {
get; set; } public int Price {
get; set; } }}

03.unity 解析XMl

创建模板

添加映射

在这里插入图片描述
04.
导出xml

10
1
10
55
20
2
100
66

05解析

using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Xml;using UnityEngine;public class XmlManager : MonoBehaviour{
void Start() {
List
list = ParseXmol("Map1"); for (int i = 0; i < list.Count; i++) {
Debug.Log(list[i].Id); } } private List
ParseXmol(string path) {
List
list=new List
(); try {
XmlDocument xml = new XmlDocument(); //验证XML文档时经常用到的一个类 XmlReaderSettings settings = new XmlReaderSettings(); //是否忽略注释。 settings.IgnoreComments = true; TextAsset str = Resources.Load
(path); Debug.Log(str.text); //从指定的字符串加载 XML 文档 //字符串的格式已经为xml类型,用loadxml进行解析 xml.LoadXml(str.text); //获取根节点 XmlNode rooNode = xml.SelectSingleNode("ROOT"); //获取根节点下所有的的子节点 XmlNodeList nodeList = rooNode.ChildNodes; foreach (XmlNode node in nodeList) {
MapInfo map = new MapInfo(); map.Id = int.Parse(node.Attributes["id"].InnerText); map.Wait = int.Parse(node["wait"].InnerText); map.EnmeyName = node["enemyname"].InnerText; map.Level = int.Parse(node["level"].InnerText); map.Wave = int.Parse(node["wave"].InnerText); list.Add(map); } } catch (Exception e) {
Debug.Log(e.Message); } return list; }} class MapInfo{
public int Id {
get; set; } public int Level {
get; set; } public int Wave {
get; set; } public string EnmeyName {
get; set; } public int Wait{
get; set; }}

转载地址:http://ryrxo.baihongyu.com/

你可能感兴趣的文章
Android SDK:构建一个购物中心搜索的应用(二)-Points of Interest
查看>>
查询oracle数据库编码
查看>>
分发系统-expect-批量同步文件、批量执行命令
查看>>
activiti相关配置
查看>>
Exchange 2010邮件收发信大小限制
查看>>
js闭包浅了解
查看>>
c++中const引用传值
查看>>
【微软面试智力题】12个球,3次称量,找重量不同的那个球。
查看>>
dojo框架之创建自定义的类
查看>>
php小代码----树形菜单生成
查看>>
VMware VSAN5.5扩容篇
查看>>
Zend API:pval/zval 数据结构
查看>>
晒晒公司电脑配置
查看>>
Looper.myLooper().quit() 报 NullPointerException
查看>>
SSH1还是SSH2与Annotation还是Xml配置的问题
查看>>
简单构建工具SBT
查看>>
分享一个快速开发jQuery插件工具:jqueryboilerplate(转)
查看>>
Training的第二十天
查看>>
mysql设置主键自动增长
查看>>
linux系统的启动过程
查看>>