首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# - YAXLib:将数据导出到XML文件

C# - YAXLib:将数据导出到XML文件
EN

Stack Overflow用户
提问于 2018-11-29 11:47:17
回答 1查看 127关注 0票数 0

我有两个示例类,用于在测试中反/序列化XML文件。

XmlExampleBasicUnit.cs

代码语言:javascript
复制
[YAXSerializeAs("Unit")]
public class XmlExampleBasicUnit
{
    [YAXSerializeAs("StringVar")]
    public String StringVar { get; set; }
    [YAXSerializeAs("Int32Var")]
    public Int32 Int32Var { get; set; }
    [YAXSerializeAs("DoubleVar")]
    public Double DoubleVar { get; set; }
    [YAXSerializeAs("DateTimeVar")]
    public String DateTimeVar { get; set; }
    [YAXSerializeAs("CharVar")]
    public String CharVar { get; set; }
}

XmlExampleCollectionOfUnits.cs

代码语言:javascript
复制
[YAXSerializeAs("CollectionOfUnits")]
public class XmlExampleCollectionOfUnits
{
    [YAXSerializeAs("Units")]
    public List<XmlExampleBasicUnit> Units { get; set; }

    public XmlExampleCollectionOfUnits(List<XmlExampleBasicUnit> units)
    {
        Units = units;
    }

    public XmlExampleCollectionOfUnits()
    {
    }
}

我希望将XmlExampleCollectionOfUnits的一个变量导出到一个将被正确格式化的XML文件中。这是一个当前的职能,负责:

代码语言:javascript
复制
public void Export<T>(String fileName, T result) where T : class
{
    YAXSerializer serializer = new YAXSerializer(typeof(T));
    using (FileStream fs = File.Create(fileName))
    {
        Byte[] info = new UTF8Encoding(true).GetBytes(serializer.Serialize(result));
        fs.Write(info, 0, info.Length);
    }
}

问题是,这使用了GetBytes()函数,它添加了一些由负责从XML文件导入数据的函数无法识别的字节。我一直试图与XmlTextWriter解决这个问题,但没有成功。我可以获得想要写入文件的内容的String,但是XmlTextWriter无法处理它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-29 13:13:40

函数Serialize of YAXSerializerXmlWriter具有重载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53538353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档