繁体   English   中英

使用文本编写器将多个元素添加到XML C#

[英]Add multiple elements to XML C# using textwriter

我需要以下输出

<BatchFile>
   <BatchFileHeader>
     <MessageType>MSG103</MessageType>
     <Version>456</Version>
   <BatchFileHeader>

   <Vendor>
     <VendorType>VVV</VendorType>
   </Vendor>
</BatchFile>

以下是我的代码

StringWriter stringwriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringwriter);
xmlTextWriter.Formatting = Formatting.Indented;
xmlTextWriter.WriteStartDocument();

xmlTextWriter.WriteStartElement("BatchFileHeader");
xmlTextWriter.WriteElementString("MessageType", "MSG103"); 
xmlTextWriter.WriteElementString("MessageVersion", "456"); 
xmlTextWriter.WriteEndElement();

xmlTextWriter.WriteStartElement("Vendor");
xmlTextWriter.WriteElementString("Vendor", "VVV"); 
xmlTextWriter.WriteEndElement();

但我收到以下错误

状态Epilog中的令牌起始元素将导致无效的xml文档

我究竟做错了什么 ?

您忘了写最外面的StartElement <BatchElement>

增加他的关注者应该可以解决您的问题;

StringWriter stringwriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringwriter);
xmlTextWriter.Formatting = Formatting.Indented;
xmlTextWriter.WriteStartDocument();

xmlTextWriter.WriteStartElement("BatchElement");

xmlTextWriter.WriteStartElement("BatchFileHeader");
xmlTextWriter.WriteElementString("MessageType", "MSG103"); 
xmlTextWriter.WriteElementString("MessageVersion", "456"); 
xmlTextWriter.WriteEndElement();

xmlTextWriter.WriteStartElement("Vendor");
xmlTextWriter.WriteElementString("Vendor", "VVV"); 
xmlTextWriter.WriteEndElement();

xmlTextWriter.WriteEndElement();
xmlTextWriter.WriteEndDocument();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM