最近无聊用TreeView来做导航,中间涉及的xml文件的验证,写了很久都没有写对,最后发现VS08有这个功能。郁闷的很啊,所以在此告诉给大家,希望朋友们以后不要再像我一样,呵呵。
我的xml文件
<?xml version="1.0" encoding="utf-8" ?>
<TreeNode text="系统导航" value="01" description="系统导航" url="Default.aspx">
<TreeNode text="权限管理" value="01" description="权限管理" url="Admin/ManagerRole.aspx"/>
<TreeNode text="常量管理" value="0101" description="常量管理" url="Admin/ManageCodeTables.aspx"/>
<TreeNode text="异常管理" value="020101" description="异常管理" url="Admin/ExceptionLogViewer.aspx"/>
</TreeNode>
很简单吧,其实现实中我们很容易写出来这样的文件,那么它的模式文件时说明样的了。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="TreeNode">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="TreeNode">
<xs:complexType>
<xs:attribute name="text" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:unsignedShort" use="required" />
<xs:attribute name="description" type="xs:string" use="required" />
<xs:attribute name="url" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="text" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:unsignedByte" use="required" />
<xs:attribute name="description" type="xs:string" use="required" />
<xs:attribute name="url" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>
该模式文件时自动生成的。
操作如图:
点击创建架构就可以了,简单吧。