【问题标题】:How to write a space between each element for a XML file如何在 XML 文件的每个元素之间写一个空格
【发布时间】:2016-06-10 02:12:42
【问题描述】:

我正在尝试在 XML 文件中的每个元素之间添加一个空格,但我不知道该怎么做 这就是我所拥有的

if (sfdSave.ShowDialog() == DialogResult.OK)
        {
            Data data = new Data();

            using (XmlWriter writer = XmlWriter.Create(sfdSave.FileName))
            {
                writer.WriteStartDocument();
                writer.WriteStartElement("MyConnection");  

                writer.WriteElementString("Host", data.Host);                               
                writer.WriteElementString("User", data.User);                    
                writer.WriteElementString("Password", data.Password);                   
                writer.WriteElementString("Port", Convert.ToString(data.Port));                   

                writer.WriteEndElement();
                writer.WriteEndDocument();
                writer.Flush();
                writer.Close();
            }
        }

这就是我所做的

        if (sfdSave.ShowDialog() == DialogResult.OK)
        {
            Data data = new Data();

            using (XmlWriter writer = XmlWriter.Create(sfdSave.FileName))
            {
                writer.WriteStartDocument();
                writer.WriteStartElement("MyConnection");  

                writer.WriteElementString("Host", data.Host);
                writer.WriteElementString("","\n");                               
                writer.WriteElementString("User", data.User);
                writer.WriteElementString("","\n");                    
                writer.WriteElementString("Password", data.Password);
                writer.WriteElementString("","\n");                   
                writer.WriteElementString("Port", Convert.ToString(data.Port));
                writer.WriteElementString("","\n");                   

                writer.WriteEndElement();
                writer.WriteEndDocument();
                writer.Flush();
                writer.Close();
            }
        }

该解决方案不起作用

有什么想法吗?

谢谢

【问题讨论】:

  • XmlWriter 不允许您在输出格式上添加空格,它是为创建格式良好的 XML 而编写的
  • 192.168.10.1ImTestingXMLMyPassword 25
  • 我想要每个标签都有一个空格
  • 哦,好吧,我以为你的意思是空行 XD,好吧,试试这个:msdn.microsoft.com/en-us/library/…
  • 你尝试添加   ..我认为可以做到。

标签: c# xml writer


【解决方案1】:

如果你尝试添加 怎么样

这可能有用..

-- 很抱歉

【讨论】:

    【解决方案2】:

    我认为你应该有另一种“美化”你的 xml 字符串的方法。

    在类似的帖子中找到了这个,也许它可以提供帮助。

    Adding a helper to XmlDocument

    【讨论】:

      【解决方案3】:

      尝试使用 XmlSerializer,因此您需要首先创建包含您需要的所有属性的类,然后使用 xmlSerializer.serialize 在这种情况下它将创建一个布局良好的 xml 文件

      首先创建名为 MyConnection 的类

      [Serializable]
      public class MyConnection
      {
      public string User {get;set;}
      public string password {get;set;}
      public string port {get;set;}
      public string host{get;set;}
      }
      

      那么当你想写这个文件时

      MyConnection con = new MyConnection {user ="" , password =""};
      XmlSerializer serializer = new XmlSerializer (typeof(MyConnection));
      using (FileStream stream = new FileStream(filePath,FileMode.Create)
      {
      serializer.serialize (stream ,con);
      }
      

      您可以通过在每个属性上方添加来添加属性

      [XmlAttribute]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-14
        • 2017-08-21
        • 1970-01-01
        • 2021-02-20
        • 2016-12-23
        • 2014-10-10
        • 2016-06-23
        相关资源
        最近更新 更多