首先需要存储的数据是在一个TreeNode.Tag中,数据类型是:AutomationElement
如果用这句话存储:
xmlNode.AppendChild(doc.CreateCDataSection(treeNode.Tag.ToString()));XML文件中的对应数据是(用笔记本打开的):
<![CDATA[System.Windows.Automation.AutomationElement]]><Item Title="&quot;Button&quot;  &quot;开始&quot;"><AutomationElement><Property Name="AccessKey" Value="Ctrl + Esc" />。。此处内容太多省略。。</Visibility><![CDATA[System.Windows.Automation.AutomationElement]]>
用XML Editor打开对应的是:
<![CDATA[ System.Windows.Automation.AutomationElement]]> 
不知道为什么XML Editor会只显示类型?这个是小问题,我也不怎么理解;treeNode.Tag.ToString()这个方法到底把数据变成什么了(有时候存进去的是AutomationElement自动编译成xml的格式文档;有时候就直接存成“System.Windows.Automation.AutomationElement”)。调试也看不出来(XML是不是只能存string。其余结构体啊二进制数都存不了?)然后,我读取它:if (var.ChildNodes[1].NodeType == XmlNodeType.CDATA)
  newTreeNode.Tag = var.ChildNodes[1].Value;出来以后都是:System.Windows.Automation.AutomationElement而我现在需要解决的是:
存到xml中的是AutomationElement里面的全部数据;读出来的也是AutomationElement全部数据;
谢谢各位大虾了