【发布时间】:2017-03-28 16:16:37
【问题描述】:
我有这个 xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<xsd:element name="F">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="A" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
这个xml有效,但是错误
<F><F>
<A/>
</F></F>
我只需要验证这个 xml
<F>
<A/>
</F>
在xsd中怎么做?
C#代码
XmlDocument xml = new XmlDocument();
using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(xml)))
{
xml.Load(ms);
}
XmlSchemaSet schemas = new XmlSchemaSet();
schemas.Add("", xsdpath);
XDocument _xml = XDocument.Parse(xml.OuterXml);
_xml.Validate(schemas, (o, e) =>{});
【问题讨论】:
-
hm...不确定...您认为 c# 验证代码中的问题,是吗?