将数据对象转换为XML以与XSLT一起使用

时间:2009-12-14 13:56:53

标签: asp.net xml xslt

我正在制作客户档案。他们是关于每次访问的标题和数据。 我已将我的数据直接输入到许多数据对象之一PersonH​​eader ph和StoreVisits sv:

oCustDetails = ActiveCustDetails.GetActiveCustDetails(custNumber, Convert.ToString(regionNumber));

    ph.FirstName = oCustDetails.firstName;
    ph.LastName = oCustDetails.lastName;
    ph.MiddleName = oCustDetails.miName;
    ph.Height = oCustDetails.height;
    ph.Weight =oCustDetails.weight; 

List<sv>你明白了。

现在我如何将这两个对象加载到

XmlDocument personVisits = new XmlDocument();

personVisits.Load(  ??? )

我是否必须将这些数据对象写入磁盘才能读入personVists?

我还需要关联一个xslt文件进行演示。这可以在同一个转换到xmlDoc中完成,还是我第二次回来呢?

1 个答案:

答案 0 :(得分:1)

您可以使用XMLSerializer将CustDetails类序列化为XML,并使用XslCompiledTransform

在转换后创建输出文件
XmlSerializer serializer = new XmlSerializer(typeof (CustDetails));
MemoryStream stream = new MemoryStream();
serializer.Serialize(stream, oCustDetails);
stream.Position = 0;
XmlReader reader = XmlReader.Create(stream);
XmlWriter writer = XmlWriter.Create(outputPath);
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(stylesheet);
transform.Transform(reader, writer);
reader.Close();
writer.Close();