C# 如何使用C编写xml文件#
我是c#asp.net的新手。 我想在asp.net web应用程序中用c#代码隐藏文件编写xml文件,并将此xml文件作为字符串传递给web服务。任何人都能帮助我,这将对我的项目非常有用。 谢谢你你可以使用这门课。它有各种C# 如何使用C编写xml文件#,c#,asp.net,C#,Asp.net,我是c#asp.net的新手。 我想在asp.net web应用程序中用c#代码隐藏文件编写xml文件,并将此xml文件作为字符串传递给web服务。任何人都能帮助我,这将对我的项目非常有用。 谢谢你你可以使用这门课。它有各种CreateXXX方法来创建XML元素 似乎您不需要保存XML文件,因此您可以在完成后使用save(String)方法将其序列化为字符串。请参见以下问题: 如果您使用的是.Net4,则该类将起作用,对于.Net2,请使用 直接将XML作为字符串返回。对于XmlDocumen
CreateXXX
方法来创建XML元素
似乎您不需要保存XML文件,因此您可以在完成后使用save(String)
方法将其序列化为字符串。请参见以下问题:
如果您使用的是.Net4,则该类将起作用,对于.Net2,请使用
直接将XML作为字符串返回。对于XmlDocument类,可以使用XmlDocument.Save()方法保存到流或TextWriter属性
关于这个问题的两个示例都演示了如何将其作为字符串输出。您可以使用它将字符串传递给web服务。您可以使用
XmlSerializer
类序列化Xml中的对象:
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();
序列化为文件:
void SaveAsXmlToFile(object o, string fname)
{
XmlSerializer ser = new XmlSerializer(o.GetType());
using (var f = File.Open(fname, FileMode.OpenOrCreate))
ser.Serialize(f, o);
}
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();
}
您还可以使用与XmlSerializer
相同的方法使用DataContractSerializer
类
还可以将对象序列化为字符串,然后返回:
序列化为字符串:
void SaveAsXmlToFile(object o, string fname)
{
XmlSerializer ser = new XmlSerializer(o.GetType());
using (var f = File.Open(fname, FileMode.OpenOrCreate))
ser.Serialize(f, o);
}
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();
}
此外,如果您需要对生成的Xml进行更多的控制,您可以使用结构化Xml对象,如XmlDocument
等,也可以使用Xml编写类,如其他答案中所述的XmlWriter
。如“fiver”所述,您可以使用XmlDocument或新的简化版本XDocument来创建Xml文档。下面是中用于创建XML文档和写入文件的示例代码段
XDocument doc = new XDocument(
new XElement("Root",
new XElement("Child", "content")
)
);
doc.Save("Root.xml");
这将把以下文本写入xml文件
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Child>content</Child>
</Root>
内容
注意:XDocument仅在.NET framework 3.5及更高版本上受支持您可以创建一个StringWriter并将其传递给XmlTextWriter构造函数,然后在其上调用ToString以获得字符串形式的结果。问题还不清楚,请详细说明一下。。。你到底想干什么?