我有一个简单的方法,使用C#.Net类将对象列表序列化为XML字符串。对于该方法,我想从生成的XML字符串中删除xml元素。请帮忙。谢谢。
我的方法:
public static string CreateXML(List<Video> list)
{
string result = "";
StringWriter stringWriter = new StringWriter();
XmlSerializer s = new XmlSerializer(list.GetType());
s.Serialize(stringWriter, list);
result = stringWriter.ToString();
return result;
}
结果字符串(我为了简洁而切断)我从那个方法得到:
<?xml version="1.0" encoding="utf-16" ?>
<ArrayOfVideo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Video>-
....
</Video>
<Video>
....
</Video>
</ArrayOfVideo>
我希望得到一个结果xml字符串,如:(标记已添加<Videos> and </Videos>
)
<Videos>
<Video>-
....
</Video>
<Video>
....
</Video>
</Videos>
所以,我想删除一行:
<?xml version="1.0" encoding="utf-16" ?>
<ArrayOfVideo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
</ArrayOfVideo>
答案 0 :(得分:0)
您可以使用LINQ to XML轻松解析文档并创建一个名为&#34;视频&#34;的新XElement。拥有&#34;视频&#34;加载和解析文档中的元素。这可以通过LINQ to XML以两行完成。
XElement element1 = XElement.Load("Videos.xml");
XElement element2 = new XElement ("Videos", element1.Elements("Video"));