Skip to content
| Marketplace
Sign in
Visual Studio>Tools>xml to class code tool
xml to class code tool

xml to class code tool

WAIT-ACTION

|
747 installs
| (1) | Free
xml code convert to C# class code tool.将xml转化为C# class代码,方便您编程.
Download

附上工具源代码(主要是为了凑够280字):

using System;
using System.Text;
using System.Windows;
using System.Xml;

namespace XmlToClass
{

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void ConvertButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {


                var xmlStr = XmlTextBox.Text;
                ClassTextBox.Text = BulidClass(xmlStr);
            }
            catch (Exception)
            {
                MessageBox.Show("转换失败.请检查XML文档是否标准.");
            }
        }

        private static string BulidClass(string xmlStr)
        {
            //获取XML节点名
            var xml = new XmlDocument();
            xml.LoadXml(xmlStr);
            var rootNode = xml.DocumentElement;
            var str = BulidChildClass(rootNode).ToString();
            return str;
        }

        private static StringBuilder BulidChildClass(XmlElement rootNode)
        {
             //&& rootNode.FirstChild.LocalName!="#text"
            var classStr = new StringBuilder();
            var endClassStr = new StringBuilder();
            endClassStr.Append("}\r\n\r\n");
            classStr.Append("public class " + rootNode.LocalName + "\r\n{\r\n");
            if (rootNode.HasChildNodes)
            {
                foreach (XmlNode node in rootNode.ChildNodes)
                {
                    if (node.HasChildNodes && node.FirstChild.LocalName != "#text")
                    {
                        classStr.Append("   public " + node.LocalName + " " + node.LocalName + "{get;set;} \r\n\r\n");
                        //递归
                        endClassStr.Append(BulidChildClass((XmlElement)node));
                    }
                    else
                    {
                        classStr.Append("   public string " + node.LocalName + "{get;set;} \r\n\r\n");
                    }

                }
            }
            classStr.Append(endClassStr);
            return classStr;
        }
    }
}

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft