如何解决如何使用C#编写xml文件
| 我是c#asp.net中的新手。 我想在C#代码中的asp.net Web应用程序中的文件后面编写xml文件,并将此xml文件作为字符串传递给webservice。任何人都可以帮助我,这对我的项目很有用。 谢谢解决方法
正如\“ fiver \”所述,您可以使用XmlDocument或新的简化版本XDocument创建XML文档。这是来自MSDN的示例代码片段,用于创建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及更高版本上受支持
, 您可以使用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();
}
另外,如果您需要对生成的Xml进行更多控制,则可以使用结构化的xml对象(如XmlDocument
等),也可以使用xml编写类(如XmlWriter
),如其他答案所示。
, 您可以使用XMLDocument类。它具有创建XML元素的各种“ 9”方法。
似乎不需要保存XML文件,因此完成后,可以使用Save(String)
方法将其序列化为字符串。
, 看到这个问题:
如何在C#中构建XML?
如果您使用的是.Net4,则XDocument类将起作用,对于.Net2,请使用XmlDocument。
XDocument.ToString()直接将XML作为字符串返回。对于XmlDocument类,您将使用XmlDocument.Save()方法将其保存到流或TextWriter XmlDocument.OuterXml属性。
这个问题的两个示例都演示了如何将其输出为字符串。您可以使用该字符串将字符串传递到Web服务。
, 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();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。