如何在同一个文件中添加 XML 模式和 XML 元素?
Posted
技术标签:
【中文标题】如何在同一个文件中添加 XML 模式和 XML 元素?【英文标题】:How to add XML schema and XML element together in same file? 【发布时间】:2021-05-29 15:32:02 【问题描述】:**
我想将 XML 模式和 XML 元素一起添加到同一个文件中。因为这个xml文件我们需要根据具体记录通过C#
生成。所以,我正在寻找一些代码帮助我如何将 XMLSchema 和 XML 元素一起写在同一个文件和同一个元素内。请检查附件。
<Survey>
**Here i want XML schema**
**Here i want XML element**
</Survey>
【问题讨论】:
因为这个xml文件我们需要根据具体的记录通过C#生成。 - 那么您能解释一下您遇到了什么问题阻止您这样做吗?您如何尝试将 xsd 和 XML 写入文件?您目前如何在记忆中代表它们?你不能用XmlWriter
写它们吗?
您缺少架构标签:w3schools.com/xml/schema_intro.asp
完成了。 @dbc 谢谢!
【参考方案1】:
工作代码示例
SiteSurveyX siteSurveyX = new SiteSurveyX();
XmlTextReader reader = new XmlTextReader("c:\\temp\\TestSiteSchema.xsd");
//siteSurveyX.SurveySchema = XmlSchema.Read(reader, null);
XmlSchema myschema = XmlSchema.Read(reader, null);
string filePath = HelperFunctions.SurveyFilePath + routeName;
////Get all node record from DB
siteSurveyX.Survey = routeService.GetRouteDetailForXML(routeId, Convert.ToString(ddlRoute.Text), chkCurrentInterruption.Checked);
using (FileStream stream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite))
lblStatus.Text = "Preparing file";
stream.Close();
stream.Dispose();
//Convert record in XML
XmlSerializer serializer = new XmlSerializer(typeof(SiteSurveyX));
using (StreamWriter writer = new StreamWriter(filePath, true))
serializer.Serialize(writer, siteSurveyX);
lblStatus.Text = "Ready";
用这段代码就完成了。
【讨论】:
以上是关于如何在同一个文件中添加 XML 模式和 XML 元素?的主要内容,如果未能解决你的问题,请参考以下文章