我想用 C# 编写代码,我需要像这样。
<Email version="2.00" xmlns="http://www.portalfiscal.inf.br/nfe"> </Email>
我已经试过了,但不准确。
XmlTextWriter writer = new XmlTextWriter("D:\\nefe.xml", System.Text.Encoding.UTF8);
writer.WriteStartDocument();
writer.WriteStartElement("Email");
writer.WriteString("version=2.00 xmlns=Http://www.portalfiscal.inf.br/nfe");
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
并输出这段代码是这样的
<Email>version=2.00 xmlns=Http://www.portalfiscal.inf.br/nfe</Email>
最佳答案
是的 - 您正在调用写入文本内容的 WriteString
。您的示例 XML 包含属性,因此您应该使用 WriteAttributeString
:
writer.WriteAttributeString("version", "2.00");
writer.WriteAttributeString("xmlns", "http://www.portalfiscal.inf.br/nfe");
你有使用XmlWriter
吗?如果可以的话,我个人建议使用 LINQ to XML。可能。它不太适合编写 XmlWriter
可以轻松处理的大量文档,但是当您只是尝试创建一个中等大小的简单文档时,它很多更干净:
XNamespace ns = "http://www.portalfiscal.inf.br/nfe";
var doc = new XDocument(new XElement(ns + "Email",
new XAttribute("xmlns", ns.ToString()),
new XAttribute("version", "2.00")));
doc.Save("nefe.xml");
如果您确实坚持使用XmlWriter
,您应该使用using
语句来确保输出始终关闭,即使出现异常被抛出。
关于c# - 这种格式的xml文件怎么写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13918044/