【问题标题】:How to add XML schema and XML element together in same file?如何在同一个文件中添加 XML 模式和 XML 元素?
【发布时间】: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 谢谢!

标签: c# .net xml xml-serialization


【解决方案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";
    }
}

用这段代码就完成了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    相关资源
    最近更新 更多