问题描述
我正在使用XSD文件和C#.NET来验证XML。我需要验证<Message>
元素是否具有以下任一值:
<Edit>
要么<Delete>
要么<Edit> <Delete>
(两个元素都是IE)
这可以在XSD中完成吗?
解决方法
是的,这个XSD,
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Message">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="Edit"/>
<xs:element name="Delete" minOccurs="0"/>
</xs:sequence>
<xs:element name="Delete"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
将根据要求允许<Edit/>
或<Delete/>
或<Edit/><Delete/>
。