如何在xml文件中定义唯一值

时间:2017-03-15 08:36:18

标签: c# xml xsd

当想要在xml文件中找到两个相同的手机号码时,我想要手机号码中的唯一键。

我的XML文件:

<EmployeeDetails>

    <Employee>
       <Name>ABC</Name>
       <MobileNumber>9876543210</MobileNumber>          
    </Employee>

    <Employee>
       <Name>XYZ</Name>
       <MobileNumber>9876543210</MobileNumber> 
    </Employee>

</EmployeeDetails>

我的XSD文件:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
   <xs:element name="EmployeeDetails">
     <xs:complexType>
        <xs:sequence>
          <xs:element name="Employee" maxOccurs="unbounded">
             <xs:complexType>
                <xs:sequence>
                   <xs:element name="Name" type="xs:string"></xs:element>
                   <xs:element name="MobileNumber" type="xs:int"></xs:element>
                </xs:sequence>
             </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
   </xs:element>

如果找到重复的手机号码,则运行代码,然后显示错误按摩

1 个答案:

答案 0 :(得分:2)

Change your xsd with this code


<xs:element name="Name"/>
<xs:element name="MobileNumber" type="xs:long"/> 
<xs:complexType>
  <xs:sequence>
    <xs:element ref="Employee"/>
  </xs:sequence>
</xs:complexType>
<xs:unique name="Any name you want to give">
  <xs:selector xpath="Employee"/>
  <xs:field xpath="MobileNumber"/>
</xs:unique>