无法使用c#格式化xml
本文关键字:格式化 xml | 更新日期: 2023-09-27 18:29:23
好的,所以我有两个类
public class PRData
{
public DateTime PRDate { get; set; }
public string Title { get; set; }
public string Description { get; set; }
}
一个是
public class MonthData
{
public string Months { get; set; }
public List<PRData> PrList { get; set; }
}
现在,我创建了一个MonthData
和PRData
类的实例,并填充了一些数据。
PRData pr = new PRData();
pr.Title = "hello";
pr.PRDate = DateTime.Now;
pr.Description = "Hello world";
List<PRData> prList =new List<PRData>();
prList.Add(pr);
prList.Add(pr);
MonthData mon = new MonthData();
mon.Months = "feb";
mon.PrList = prList;
现在我正试图将这个对象转换成一个xml
string xml = Helper.GetXMLFromObject(mon);
我收到的xml是
<MonthData>
<Months>feb</Months>
<PrList>
<PRData>
<PRDate>2012-02-01T00:00:00</PRDate>
<Title>hello</Title>
<Description>Hello world</Description>
</PRData>
<PRData>
<PRDate>2012-02-01T00:00:00</PRDate>
<Title>hello</Title>
<Description>Hello world</Description>
</PRData>
</PrList>
</MonthData>
有没有什么方法可以删除PrList
标签,使xml看起来像
<MonthData>
<Months>feb</Months>
<PRData>
<PRDate>2012-02-01T00:00:00</PRDate>
<Title>hello</Title>
<Description>Hello world</Description>
</PRData>
<PRData>
<PRDate>2012-02-01T00:00:00</PRDate>
<Title>hello</Title>
<Description>Hello world</Description>
</PRData>
</MonthData>
下面是我使用的将对象转换为xml的函数
public static string GetXMLFromObject(object o)
{
try
{
XmlSerializer XmlS = new XmlSerializer(o.GetType());
StringWriter sw = new StringWriter();
XmlTextWriter tw = new XmlTextWriter(sw);
XmlS.Serialize(tw, o);
return sw.ToString();
}
catch (Exception ex)
{
throw new DataAccessException("Could Not Serialize object : GetXMLFromObject" + " : " + ex.Message);
}
}
注意:我期待的解决方案是在我的类中进行一些更改,而不是在我在上面给出的将对象转换为xml的函数中进行更改
只需将XmlElement
属性应用于PrList
属性:
using System.Xml.Serialization;
...
[XmlElement]
public List<PRData> PrList { get; set; }