C# 如何从XmlSchema对象添加到XmlDocument架构
我在将模式添加到xml文档时遇到问题。我给它添加了一个模式 文档和返回的ActionResult我得到一个没有 模式。 我定义了模式并添加了各个元素,这些元素后来添加到Xml文档中 我如何解决这个问题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
[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>