C# 如何从XmlSchema对象添加到XmlDocument架构

C# 如何从XmlSchema对象添加到XmlDocument架构,c#,.net,xml,api,C#,.net,Xml,Api,我在将模式添加到xml文档时遇到问题。我给它添加了一个模式 文档和返回的ActionResult我得到一个没有 模式。 我定义了模式并添加了各个元素,这些元素后来添加到Xml文档中 我如何解决这个问题 [HttpGet(“ConvertJsonToXML”)] [产生(“应用程序/xml”)] public ActionResult ConvertJsonToXML(int?idProjectTlcStairsHistory) { //查找ID var result=_project.FindP

我在将模式添加到xml文档时遇到问题。我给它添加了一个模式 文档和返回的ActionResult我得到一个没有 模式。 我定义了模式并添加了各个元素,这些元素后来添加到Xml文档中 我如何解决这个问题

[HttpGet(“ConvertJsonToXML”)]
[产生(“应用程序/xml”)]
public ActionResult ConvertJsonToXML(int?idProjectTlcStairsHistory)
{
//查找ID
var result=_project.FindProjectResult(idProjectTlcStairsHistory);
//查找名称项目
var nameProject=_project.ProjectName(idprojecttlcstairshhistory);
//在“改进格式”上更改格式
var fileName=_project.ReplaceInvalidChars(nameProject);
JObject o=JObject.Parse(结果);
XmlDocument doc=新的XmlDocument();
字符串值=o.ToString();
doc=JsonConvert.DeserializeXmlNode(值,“StairsCalculationsData”);
XmlSerializerNamespaces nameSpace=新的XmlSerializerNamespaces();
nameSpace.Add(“xsd”http://www.w3.org/2001/XMLSchema");
//模式
XmlSchema=新的XmlSchema();
schema.ElementFormDefault=XmlSchemaForm.Qualified;
schema.AttributeFormDefault=XmlSchemaForm.Unqualified;
schema.Version=“1.0”;
schema.nameSpace=名称空间;
XmlSchemaSet schemaSet=新的XmlSchemaSet();
schemaSet.Add(schema);
XmlSchemaElement元素=新的XmlSchemaElement();
element.Name=“螺旋楼梯”;
element.SchemaTypeName=新的XmlQualifiedName(“字符串”,
"http://www.w3.org/2001/XMLSchema");
xmldattribute attr=doc.CreateAttribute(“myns:blah,”http://myns.com");
attr.Value=“我自己的属性”;
element.UnhandledAttributes=新的XmlAttribute[]{attr};
schema.Items.Add(元素);
doc.Schemas.Add(schema);
doc.Schemas.Add(schemaSet);
var file=XMLConvert.addxmlsdeclaration(doc);
doc.LoadXml(文件);
doc.Save(@“C:\Projekty XML\”+fileName+“.XML”);
返回Ok(单据);
}
结果-他在没有示意图的情况下得到的结果


150
假的
真的
-1
假的
120
1000
1185
1000
0
真的
真的
240
1300
0
4.
0
100
100
90
0
真的
1570.7963267948965
90
假的
20
0
真的
347.3
2750
假的
114.58333333333333
1.2777777777777777
190
460
20
真的
24
18
真的
0
假的
576.47
假的
1440.2
假的
1504.2
假的
1847.9
真的
2800
如何从模式添加到xml信息? 例如:



您想在xml中添加名称空间,而不是模式。我想您可能会对什么是xml模式感到困惑。您希望XML的外观如何?请在您的问题中添加一个示例。我想添加到我的xml中:正如我所说的,请在您的问题中包含我添加到描述中的信息
<?xml version="1.0" encoding="utf-8"?>
    <StairsCalculationsData>
      <centralPipeDiameter>150</centralPipeDiameter>
      <leftTurn>false</leftTurn>
      <rightTurn>true</rightTurn>
      <stairsTurn>-1</stairsTurn>
      <centralPipeHandrail>false</centralPipeHandrail>
      <centralPipeHandrailRadius>120</centralPipeHandrailRadius>
      <radius>1000</radius>
      <walkingWidth>1185</walkingWidth>
      <walkingLineRadius>1000</walkingLineRadius>
      <secondWalkingLineRadius>0</secondWalkingLineRadius>
      <isStandardRadius>true</isStandardRadius>
      <isTlcStandard>true</isTlcStandard>
      <maxStepHeight>240</maxStepHeight>
      <selectedRadius>1300</selectedRadius>
      <selectedStep />
      <levels>
        <levelNumber>0</levelNumber>
        <landing>
          <initialDirection>4</initialDirection>
          <landingShape>0</landingShape>
          <startEdgeHeight>100</startEdgeHeight>
          <endEdgeHeight>100</endEdgeHeight>
          <startLandingAngle>90</startLandingAngle>
          <endLandingAngle>0</endLandingAngle>
          <isLandingAngleProperly>true</isLandingAngleProperly>
          <landingWidth>1570.7963267948965</landingWidth>
          <landingAngle>90</landingAngle>
        </landing>
        <isLastLevel>false</isLastLevel>
        <angleNextLevel>20</angleNextLevel>
        <startFlightAngleFromNextLevel>0</startFlightAngleFromNextLevel>
        <levelMessages />
        <isStepWidthProperly>true</isStepWidthProperly>
        <stepDeepInWalkingLine>347.3</stepDeepInWalkingLine>
        <heightLevel>2750</heightLevel>
        <isStepHeightProperly>false</isStepHeightProperly>
        <stepHeight>114.58333333333333</stepHeight>
        <rotationRange>1.2777777777777777</rotationRange>
        <startFlightAngle>190</startFlightAngle>
        <flightRotationRangeAngle>460</flightRotationRangeAngle>
        <stepAngle>20</stepAngle>
        <isStepsAmountProperly>true</isStepsAmountProperly>
        <stepsAmount>24</stepsAmount>
        <stepsPerTurn>18</stepsPerTurn>
        <isAngleDiffProperly>true</isAngleDiffProperly>
        <angleDiff>0</angleDiff>
        <isConvinienceProperly>false</isConvinienceProperly>
        <convinience>576.47</convinience>
        <isFreeSpaceByHeliceProperly>false</isFreeSpaceByHeliceProperly>
        <endFreeSpaceByHelice>1440.2</endFreeSpaceByHelice>
        <isFreeSpaceProperly>false</isFreeSpaceProperly>
        <endFreeSpace>1504.2</endFreeSpace>
        <isFlightFreeSpaceProperly>false</isFlightFreeSpaceProperly>
        <flightFreeSpace>1847.9</flightFreeSpace>
        <isFreeSpaceAboveLandingsProperly>true</isFreeSpaceAboveLandingsProperly>
        <freeSpaceAboveLandings>2800</freeSpaceAboveLandings>
      </levels>
      
    </StairsCalculationsData>
 <xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element myns:blah="my own attribute" name="SpiralStairs" type="xsd:string" xmlns:myns="http://myns.com" />
</xsd:schema>