如何让自己的XML配置文件也支持输入提示

在VS中如何让自己定义的一些配置文件也支持输入提醒,直接增加xml文档规范约束就可以的了。

 XML文件格式定义:DTD和Schema,DTD和Schema都是用来描述xml文档结构,限定文档的数据类型的。具体不介绍了。

Schema学习网址:http://www.w3school.com.cn/schema/index.asp

【Schema方式:】

在VS中新建一个xsd文件,定义如下:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="PersonSchema"
    targetNamespace="http://tempuri.org/PersonSchema.xsd"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/PersonSchema.xsd"
    xmlns:mstns="http://tempuri.org/PersonSchema.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:element name="Persons">
    <!--mixed指定了xml节点内部可以包含有注释,空格、换行符号等等-->
    <xs:complexType mixed="true">
      <!--紧跟指示器-->
      <!--Choice指示器,指示器规定可出现某个子元素或者可出现另外一个子元素(非此即彼):-->
      <!--All 指示器,指示器规定子元素可以按照任意顺序出现,且每个子元素必须只出现一次:-->
      <!--Sequence 指示器,规定子元素必须按照特定的顺序出现:-->
      <!--maxOccurs 指示器<maxOccurs> 指示器可规定某个元素可出现的最大次数:
        提示:如需使某个元素的出现次数不受限制,请使用 maxOccurs="unbounded" 这个声明:-->
      <xs:sequence maxOccurs="unbounded">
        <xs:element name="Person">
          <!--声明元素Person中,有什么属性-->
          <xs:complexType>
            <!--use required表示属性必须-->
            <xs:attribute name="Sex" use="required">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <!--属性值只能是枚举值中的值-->
                  <xs:enumeration value="Boy"></xs:enumeration>
                  <xs:enumeration value="Girl"></xs:enumeration>
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

新建一个XML文件,采用Person.dtd定义,这时候你输入代码就会有提醒的了,还可以校验XML文档的准确性!

<?xml version="1.0" encoding="utf-8" ?>
<Persons xmlns="http://tempuri.org/PersonSchema.xsd">
  <Person Sex="Boy"></Person>
</Persons>

 

posted @ 2015-06-09 17:38  lijianzhq  阅读(547)  评论(0)    收藏  举报