我是一个刚接触C# ASP.NET的新手。 我想在我的ASP.NET Web应用程序中,在代码后台文件中编写XML文件,并将此XML文件作为字符串传递给Web服务。有人能帮助我吗?这对我的项目非常有用。 谢谢。
XmlSerializer
类将对象序列化为Xml: void SaveAsXmlToFile(object o, string fname)
{
XmlSerializer ser = new XmlSerializer(o.GetType());
using (var f = File.Open(fname, FileMode.OpenOrCreate))
ser.Serialize(f, o);
}
XmlSerializer
一样使用 DataContractSerializer
类。 string ToXml(object o)
{
XmlSerializer ser = new XmlSerializer(o.GetType());
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
ser.Serialize(sw, o);
return sb.ToString();
}
XmlDocument
等,或者像其他答案中所示的 XML 写入类 XmlWriter
。正如"fiver"所提到的,您可以使用XmlDocument或新的简化版本XDocument来创建XML文档。以下是从MSDN中获取的用于创建XML文档并写入文件的示例代码片段。
XDocument doc = new XDocument(
new XElement("Root",
new XElement("Child", "content")
)
);
doc.Save("Root.xml");
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Child>content</Child>
</Root>
CreateXXX
方法来创建 XML 元素。Save(String)
方法将其序列化为字符串。using System.Xml;
using System.Xml.Schema;
XmlTextWriter xtwFeed = new XmlTextWriter(Server.MapPath("rss.xml"), Encoding.UTF8);
xtwFeed.WriteStartDocument();
// The mandatory rss tag
xtwFeed.WriteStartElement("rss");
xtwFeed.WriteAttributeString("version", "2.0");
// Write all the tags like above and end all elements
xtwFeed.WriteEndElement();
xtwFeed.WriteEndDocument();
xtwFeed.Flush();
xtwFeed.Close();