如何将treeview转换为xml?

我目前正在处理一个项目,我需要将树视图转换为xml,以便我可以将该xml数据发送到另一个端口。

private void button1_Click(object sender, EventArgs e) { var rootElement = new XElement("root", CreateXmlElement(treeView1.Nodes)); var document = new XDocument(rootElement); document.Save("C:\\1.xml"); } private static List CreateXmlElement(TreeNodeCollection treeViewNodes) { var elements = new List(); foreach (TreeNode treeViewNode in treeViewNodes) { var element = new XElement(treeViewNode.Name); if (treeViewNode.GetNodeCount(true) == 1) element.Value = treeViewNode.Nodes[0].Name; else element.Add(CreateXmlElement(treeViewNode.Nodes)); elements.Add(element); } return elements; } 
  Here is the code snippet : public void exportToXml(TreeView tv, string filename) { sr = new StreamWriter(filename, false, System.Text.Encoding.UTF8); sr.WriteLine("<" + tv.Nodes[0].Text + ">"); foreach (TreeNode node in tv.Nodes) { saveNode(node.Nodes); } //Close the root node sr.WriteLine(""); sr.Close(); } private void saveNode(TreeNodeCollection tnc) { foreach (TreeNode node in tnc) { if (node.Nodes.Count > 0) { sr.Write("<" + node.Text + ">"); saveNode(node.Nodes); sr.WriteLine(""); } else sr.Write(node.Text); } }