C# 如何转换列表<;字符串>;到xml文档?
我现在有这个代码:C# 如何转换列表<;字符串>;到xml文档?,c#,xml,C#,Xml,我现在有这个代码: List<string> BugWSResponseList1 = new List<string>(); Logger.Write("\n\n" + DateTime.Now + " : " + " : START : Creation of a set of Bugs via bug.Add API"); BugWSResponseList1 = CreateBugs(FilePath_EXPRESS_API_BugAd
List<string> BugWSResponseList1 = new List<string>();
Logger.Write("\n\n" + DateTime.Now + " : " +
" : START : Creation of a set of Bugs via bug.Add API");
BugWSResponseList1 = CreateBugs(FilePath_EXPRESS_API_BugAdd_CreateBugs_DataFile);
List BugWSResponseList1=newlist();
Logger.Write(“\n\n”+DateTime.Now+”:“+
“:开始:通过bug.Add API创建一组bug”);
BugWSResponseList1=CreateBugs(文件路径\u EXPRESS\u API\u BugAdd\u CreateBugs\u数据文件);
我想将列表BugWSResponseList1
转换为xml文档
您能建议一种方法吗?如果您将列表存储在一个类中,您可以编写如下内容:
[XmlType("Foo")]
public class Foo {
[XmlArray("Items")]
[XmlArrayItem("Item")]
public List<string> Data {get; set;}
}
<Foo>
<Items>
<Item>Rock</Item>
<Item>Paper</Item>
<Item>Scissor</Item>
<Item>Lizard</Item>
<Item>Spock</Item>
</Items>
</Foo>
[XmlType(“Foo”)]
公开课Foo{
[XmlArray(“项”)]
[XmlArrayItem(“项目”)]
公共列表数据{get;set;}
}
这将导致如下结果:
[XmlType("Foo")]
public class Foo {
[XmlArray("Items")]
[XmlArrayItem("Item")]
public List<string> Data {get; set;}
}
<Foo>
<Items>
<Item>Rock</Item>
<Item>Paper</Item>
<Item>Scissor</Item>
<Item>Lizard</Item>
<Item>Spock</Item>
</Items>
</Foo>
摇滚乐
纸张
剪
蜥蜴
斯波克
您可以非常轻松地使用LINQ实现以下目的:
var x = new XElement("bugs",
BugWSResponseList1.Select(t => new XElement("bug", t)));
Console.WriteLine(x.ToString());
使用
代码示例
List<string> ExampleList = new List<string>{"1", "b"};
var xml = ExampleList.SerializeToXml();
List ExampleList=新列表{“1”,“b”};
var xml=ExampleList.SerializeToXml();
序列化程序
public static string SerializeToXml<T>(this T obj)
{
var serializer = new DataContractSerializer(obj.GetType());
using (var writer = new StringWriter())
using (var stm = new XmlTextWriter(writer))
{
serializer.WriteObject(stm, obj);
return writer.ToString();
}
}
公共静态字符串序列化XML(此T对象)
{
var serializer=新的DataContractSerializer(obj.GetType());
使用(var writer=new StringWriter())
使用(var stm=new XmlTextWriter(writer))
{
serializer.WriteObject(stm,obj);
返回writer.ToString();
}
}
导致
<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><string>1</string><string>b</string></ArrayOfstring>
1b
看看这个。你会有很多选择。