我正在开发一个项目,该项目几乎需要一个 xml 文件并在 C# 中对其进行序列化,以便它可以用于格式化 word 文档。到目前为止一切都很顺利,它解析了几千个 xml 标签,到目前为止创建了一个 86 页的 docco 非常愉快。
但是,我在文档完成之前需要完成的最后两个标签上,并且由于某种原因,序列化只是不适用于其中一个。
- <layout_row>
- <layout_cell type="attribute">
<attribute_and_presentation attribute="Name" />
<layout_group is_column="true" label_column_width="100" />
</layout_cell>
</layout_row>
以上是我正在序列化的 xml 代码示例
using System.Collections;
using System.Xml.Serialization;
using System.Xml.Xsl;
using System.Xml.Schema;
using System.Runtime.Serialization;
using System.Collections.Generic;
[System.Serializable()]
public class layout_cell
{
[XmlAttribute("type")]
public string type;
[XmlElement("attribute_and_presentation")]
public attribute_and_presentation attribute_and_presentation;
[XmlElement("layout_group")]
public layout_group layout_group;
}
[System.Serializable()]
public class attribute_and_presentation {
[XmlAttribute]
public string attribute;
}
[System.Serializable()]
public class layout_group {
[XmlAttribute("is_column")]
public string is_column;
[XmlAttribute("label_column_width")]
public string label_column_width;
}
问题出在 layout_group 上,由于某种原因,它根本不会序列化。我已经在这几个小时了,我觉得我一定错过了一些非常明显的东西,但对于我的生活,我就是无法解决它。
值得注意的是 type 和 attribute_and_presentation 在此类中都可以完美地序列化。