110,530
社区成员
发帖
与我相关
我的任务
分享
<Home name="Home" type="Home">
<Group name="Group1" type="Group">
<Library name="Library1" type="Library" description="123456" author="abc">
<Tree name="Tree1" type="Tree">1234</Tree>
<Tree name="Tree2" type="Tree">567</Tree>
<Tree name="Tree3" type="Tree">890</Tree>
</Library>
<Library name="Library2"></Library>
</Group>
<Group name="Gourp2" type="Group">
<Group name="Group3" type="Group">
<Library name="Library3" type="Library" description="dfgsdfdd" author="abc" >
<Tree name="Tree4" type="Tree"></Tree>
</Library>
</Group>
</Group>
</Home>
DataSet ds = new DataSet();
ds.ReadXml(XmlPath);
public class TreeNodeModel
{
private List<TreeNodeModel> children; // 子Model列表
public string Type { get; set; } //节点类型
public string Name { get; set; } //节点Name
public string Description { get; set; } //描述
public string Author { get; set; } //作者
public List<TreeNodeModel> Children
{
get
{
if (children == null)
children = new List<Model.TreeNodeModel>();
return children;
}
}
}
string xml = @"<sms_list>
<sms>
<sms_id>9DEA2762C0EA4BFEB93845C5DACBFB9</sms_id>
<sms_number>13411885227</sms_number>
<sms_content>GTS*493*GTSBOXMTK*1245789865321245</sms_content>
<sms_time>0</sms_time>
</sms>
<sms>
<sms_id>F24A1E6DFCFB4147AE78B9E8DA84E61</sms_id>
<sms_number>10665234</sms_number>
<sms_content>ee29_493_20004_1_1245789865321245</sms_content>
<sms_time>0</sms_time>
</sms>
</sms_list>";
XmlDocument doc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(new StringReader(xml));
doc.Load(reader);
XmlNodeList cmsList = doc.SelectNodes("sms_list/sms");
foreach (XmlNode node in cmsList)
{
XmlNode number = node.SelectSingleNode("sms_number");
Console.WriteLine(number.Value); //这里是number的值
XmlNode content = node.SelectSingleNode("sms_content");
Console.WriteLine(content.Value);//这里是content的值
}
public TreeNodeModel GetTreeNodes(DataSet dsTree)
{
DataTable dt = dsTree.Tables[0]; //这里他Tables需要处理 Tabel[0]只有home节点的信息
foreach (DataRow item in dtTree.Rows)
{
model = new Model.TreeNodeModel();
model.Name = item["name"].ToString();
.......
dt.Rows.Add(item);
GetChildren(dt, model);
}
return model;
}
private void GetChildren(DataTable dt, TreeNodeModel parentModel)
{
DataTable dt = new DataTable();
foreach (....)
{
TreeNodeModel childModel = new TreeNodeModel();
childModel.Name = item["name"].ToString();
parentModel.Children.Add(childModel);
.........
GetChildren(dt, childModel);
}
}