如何清理我的 xml 代码

发布于 2024-12-25 01:49:48 字数 2231 浏览 1 评论 0原文

序列化此类的对象后:

[XmlType("Person")] // define Type

public class Person
{
    [XmlElement("PropertyType")]
    public PropertyType PropertyType { get; set; }

    [XmlElement("ID")]
    public string ID { get; set; }

    [XmlElement("Name")]
    public string Name { get; set; }

    [XmlElement("City")]
    public string City { get; set; }

    [XmlElement("Age")]
    public Dictionary<object, object> Age { get; set; }
}

我有以下代码:

  <PersonenListe>
      <PersonenArray>
        <PersonObjekt>
          <PropertyType>Unknown</PropertyType>
          <ID>0</ID>
          <FriendlyName>Max Man</FriendlyName>
          <City>Capitol City</City>
          <Age>33</Age>
          <Name>
            <item>
              <key>
                <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" p8:type="q1:string" xmlns:p8="http://www.w3.org/2001/XMLSchema-instance">test1</anyType>
              </key>
              <value>
                <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" p8:type="q1:string" xmlns:p8="http://www.w3.org/2001/XMLSchema-instance">test2</anyType>
              </value>
            </item>
          </Name>
        </PersonObjekt>
      </PersonenArray>
    </PersonenListe>

How can I clean up it(I want to have code without this namespaces)? maybe using some attributes?


Update:

when I serialize it separetly I get:

<PersonenListe>
  <PersonenArray>
    <PersonObjekt>
      <PropertyType>Unknown</PropertyType>
      <ID>0</ID>
      <FriendlyName>Max Man</FriendlyName>
      <City>Capitol City</City>
      <Age>33</Age>
      <Name />
    </PersonObjekt>
  </PersonenArray>
</PersonenListe>


<?xml version="1.0"?>
<dictionary>
  <item>
    <key>
      <string>test1</string>
    </key>
    <value>
      <string>test2</string>
    </value>
  </item>
</dictionary>

after serialization an object of this class:

[XmlType("Person")] // define Type

public class Person
{
    [XmlElement("PropertyType")]
    public PropertyType PropertyType { get; set; }

    [XmlElement("ID")]
    public string ID { get; set; }

    [XmlElement("Name")]
    public string Name { get; set; }

    [XmlElement("City")]
    public string City { get; set; }

    [XmlElement("Age")]
    public Dictionary<object, object> Age { get; set; }
}

I have this code:

  <PersonenListe>
      <PersonenArray>
        <PersonObjekt>
          <PropertyType>Unknown</PropertyType>
          <ID>0</ID>
          <FriendlyName>Max Man</FriendlyName>
          <City>Capitol City</City>
          <Age>33</Age>
          <Name>
            <item>
              <key>
                <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" p8:type="q1:string" xmlns:p8="http://www.w3.org/2001/XMLSchema-instance">test1</anyType>
              </key>
              <value>
                <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" p8:type="q1:string" xmlns:p8="http://www.w3.org/2001/XMLSchema-instance">test2</anyType>
              </value>
            </item>
          </Name>
        </PersonObjekt>
      </PersonenArray>
    </PersonenListe>

How can I clean up it(I want to have code without this namespaces)? maybe using some attributes?


Update:

when I serialize it separetly I get:

<PersonenListe>
  <PersonenArray>
    <PersonObjekt>
      <PropertyType>Unknown</PropertyType>
      <ID>0</ID>
      <FriendlyName>Max Man</FriendlyName>
      <City>Capitol City</City>
      <Age>33</Age>
      <Name />
    </PersonObjekt>
  </PersonenArray>
</PersonenListe>


<?xml version="1.0"?>
<dictionary>
  <item>
    <key>
      <string>test1</string>
    </key>
    <value>
      <string>test2</string>
    </value>
  </item>
</dictionary>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

肥爪爪 2025-01-01 01:49:48
example: to Generate Clear XML without namespace

XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");

XmlSerializer serializer = new XmlSerializer(typeof(object));
StringWriter stringWriter = new StringWriter();
using(XmlWriter writer = new XmlTextWriterFormattedNoDeclaration(stringWriter ))
{
    serializer.Serialize(writer, this, ns);
}
string xmlText = stringWriter.ToString();
example: to Generate Clear XML without namespace

XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");

XmlSerializer serializer = new XmlSerializer(typeof(object));
StringWriter stringWriter = new StringWriter();
using(XmlWriter writer = new XmlTextWriterFormattedNoDeclaration(stringWriter ))
{
    serializer.Serialize(writer, this, ns);
}
string xmlText = stringWriter.ToString();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文