我为事件代码创建了一个开关..包,我不知道如何将事件代码翻译成事件状态的XElement
这是EventCode类
public class EventCode
{
public enum EvCodes {Delivered, DispatchedForDelivery,
DepartedFromTerminal, ArrivedAtDestinationTerminal};
public static void Main()
{
string val = "Dispatched For Delivery";
switch ((EvCodes)Enum.Parse(typeof(EvCodes), val.Replace(" ", "")))
{
case EvCodes.DispatchedForDelivery:
case EvCodes.Delivered:
Console.WriteLine("OD");
break;
case EvCodes.DepartedFromTerminal:
Console.WriteLine("L1");
break;
}
}
以下是我试图转换或读取值的EventStatus:
rspxml.Root.Add(
new XElement("API", "4.0"),
new XElement("PackageTrackingInfo",
new XElement("TrackingNumber", prc.ProNumber)
),
new XElement("TrackingEventHistory",
prc.History.Cast<Saia.Data.General.Shipment.HistoryItem>().Select(item =>
new XElement("TrackingEventDetail",
new XElement("EventStatus", prc.History,
new XElement("EventReason", prc.History),
new XElement("EventDateTime", prc.History)
会是这样的:
new XElement("EventStatus", EventCode.EvCodes.Delivered
答案 0 :(得分:0)
您可以创建一个接受EvCodes值作为输入的扩展方法,并返回您希望添加到XElement的String,如:
batch_size
如果您希望将此内容写入XML,则可以将扩展方法调用为:
public static string ToXml(this EventCode.EvCodes value)
{
switch(value)
{
case EvCodes.DispatchedForDelivery:
case EvCodes.Delivered:
return "OD";
case EvCodes.DepartedFromTerminal:
return "L1";
}
}