C# - YAXLib:将数据导出到 XML 文件
C# - YAXLib: Export data to XML file
我有两个示例 类 用于测试中的 de/serializing 和 XML 文件。
XmlExampleBasicUnit.cs:
[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:
[YAXSerializeAs("CollectionOfUnits")]
public class XmlExampleCollectionOfUnits
{
[YAXSerializeAs("Units")]
public List<XmlExampleBasicUnit> Units { get; set; }
public XmlExampleCollectionOfUnits(List<XmlExampleBasicUnit> units)
{
Units = units;
}
public XmlExampleCollectionOfUnits()
{
}
}
我想将 XmlExampleCollectionOfUnits
的变量导出到格式正确的 XML 文件中。这是负责此的当前功能:
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
无法处理它。
YAXSerializer
的函数 Serialize
重载了 XmlWriter
。
我有两个示例 类 用于测试中的 de/serializing 和 XML 文件。
XmlExampleBasicUnit.cs:
[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:
[YAXSerializeAs("CollectionOfUnits")]
public class XmlExampleCollectionOfUnits
{
[YAXSerializeAs("Units")]
public List<XmlExampleBasicUnit> Units { get; set; }
public XmlExampleCollectionOfUnits(List<XmlExampleBasicUnit> units)
{
Units = units;
}
public XmlExampleCollectionOfUnits()
{
}
}
我想将 XmlExampleCollectionOfUnits
的变量导出到格式正确的 XML 文件中。这是负责此的当前功能:
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
无法处理它。
YAXSerializer
的函数 Serialize
重载了 XmlWriter
。