一个C#读取XML的问题
已经掌握了C#读取XML的方法,但是还是很乱。
<?xml version="1.0" encoding="utf-8" ?>
<PFList Name ="Wuqi">
<PFClass Name="剑类">
<Peifang Name="1A 长剑">
<LV>1A</LV>
<NM>长剑</NM>
<JG>220</JG>
<NLZ>
攻击+12~+24耐久250~300
</NLZ>
<SC1>铜条</SC1>
<SC1N>4</SC1N>
<SC2>印度轻木</SC2>
<SC2N>20</SC2N>
<SC3></SC3>
<SC3N></SC3N>
<SC4></SC4>
<SC4N></SC4N>
<SC5></SC5>
<SC5N></SC5N>
<SC6></SC6>
<SC6N></SC6N>
<PIC>Jian_1A</PIC>
</Peifang>
<Peifang Name="1B 阔剑">
<LV>1B</LV>
<NM>长剑</NM>
<JG>280</JG>
<NLZ>
攻击+18~+36耐久250~300
</NLZ>
<SC1>铜条</SC1>
<SC1N>4</SC1N>
<SC2>铁条</SC2>
<SC2N>3</SC2N>
<SC3>印度轻木</SC3>
<SC3N>20</SC3N>
<SC4></SC4>
<SC4N></SC4N>
<SC5></SC5>
<SC5N></SC5N>
<SC6></SC6>
<SC6N></SC6N>
<PIC>Jian_1B</PIC>
</Peifang>
<Peifang Name="2A 突刺剑">
<LV>2A</LV>
<NM>突刺剑</NM>
<JG>350</JG>
<NLZ>
攻击+24~+48耐久250~300
</NLZ>
<SC1>铜条</SC1>
<SC1N>5</SC1N>
<SC2>铁条</SC2>
<SC2N>4</SC2N>
<SC3>印度轻木</SC3>
<SC3N>20</SC3N>
<SC4></SC4>
<SC4N></SC4N>
<SC5></SC5>
<SC5N></SC5N>
<SC6></SC6>
<SC6N></SC6N>
<PIC>Jian_2A</PIC>
</Peifang>
</PFClass>
</PFList>
有这样一个XML文件。其中PFClass是分类,Peifang就是每样物品的配方。
比如我有两个comboBox,第一个comboBox显示的是所有的PFClash名称。然后选择完毕,第二个comboBox就会显示出所有该分类下的物品。
同时下面textBox可以读取这项物品的参数。
具体如何实现?
--------------------编程问答--------------------
给你个参考
using System;--------------------编程问答--------------------
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace Framework
{
public class ConfigHelper
{
private XmlDocument _xmlDoc = new XmlDocument();
private string _xmlPath = string.Empty;
/// <summary>
///
/// </summary>
public string XmlPath
{
get { return _xmlPath; }
set { _xmlPath = value; }
}
/// <summary>
///
/// </summary>
public ConfigHelper()
{
}
public ConfigHelper(string path)
{
_xmlDoc.Load(path);
}
/// <summary>
///
/// </summary>
/// <param name="condition"></param>
/// <returns></returns>
public ConfigInfo GetConfigInfo(string condition)
{
ConfigInfo configInfo = new ConfigInfo();
XmlElement root = _xmlDoc.DocumentElement;
XmlNode node = root.SelectSingleNode(condition);
XmlNode objectNode = node.ChildNodes[0];
configInfo.AssemblyName = objectNode.Attributes["assembly"].Value;
configInfo.ObjectName = objectNode.Attributes["name"].Value;
configInfo.TypeName = objectNode.Attributes["typeName"].Value;
XmlNode propertyNode = objectNode.ChildNodes[0];
configInfo.ObjectPropertyInfo = new ConfigInfo.PropertyInfo();
configInfo.ObjectPropertyInfo.AssemblyName = propertyNode.Attributes["assembly"].Value;
configInfo.ObjectPropertyInfo.PropertyName = propertyNode.Attributes["name"].Value;
configInfo.ObjectPropertyInfo.TypeName = propertyNode.Attributes["typeName"].Value;
return configInfo;
}
}
}
using System;--------------------编程问答-------------------- 学习。 --------------------编程问答-------------------- 学习!! --------------------编程问答-------------------- 学习! --------------------编程问答--------------------
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Framework
{
public class ConfigInfo
{
public string ObjectName
{ get; set; }
public string AssemblyName
{ get; set; }
public string TypeName
{ get; set; }
public PropertyInfo ObjectPropertyInfo
{ get; set; }
public class PropertyInfo
{
public string PropertyName
{ get; set; }
public string AssemblyName
{ get; set; }
public string TypeName
{ get; set; }
}
}
}
补充:.NET技术 , C#