| 站点地图 | 联系我
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | 书签 | ASP.Net书签 | 上善若水 厚德载物
 现在位置 :: 主页 >> 资料中心 >> ROOT / CODE /
 

在.NET中修改XML Schemas

来源(发赛特技术网)

From: http://www.ftponline.com/china/XmlFile.aspx?ID=40

在.NET中修改XML Schemas

--------------------------------------------------------------------------------

下载本文代码

运用 System.Xml.Schema 名字空间中的类创建和修改schemas。
by Dan Wahlin
XML schemas是对DTDs的一个重大的升级,它提供了一个很好的方式用来验证一个XML文件的结构及其内容。虽然有许多工具可以创建schemas,包括VS.NET和XML Spy,但是你可以用什么工具来程序化地管理.NET中一个现有的schema呢?答案就是用System.Xml.Schema名字空间。该名字空间中的类可以让你从头创建schemas或修改它们。

XmlSchema类具有基本的功能用来载入一个现有的schema或从头创建一个schema。许多其它的类也支持该功能,这些类可以指定元素、属性、complexType和simpleType(仅列举一些)。为了运用XmlSchema类,你必须把System.Xml.Schema名字空间导入你的项目,并创建对象的一个新的实例:
XmlSchema schema = new XmlSchema();


在这儿,你可以增加子对象来定义元素、属性和其它schema成份。在未来的文章中,我将示范如何从头创建一个schema。为了把现有的一个schema载入到XmlSchema对象以便于你可以管理schema的不同部分,你可以用Read()方法。下面的代码说明将一个XmlTextReader传送到该方法:
//Read the schema into a XmlTextReader
XmlTextReader reader = new XmlTextReader(schemaPath);
//Read the reader into an XmlSchema object
XmlSchema schema = XmlSchema.Read(reader,null);


一旦schema被载入,你就可以程序化地访问不同的子对象,并根据需要进行修改。看下面的schema文件,了解如何修改一个schema:
<?xml version="1.0" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Orders">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="OrderID"      type="xs:string" />
        <xs:element name="CustomerID"   type="xs:string" />
        <xs:element name="EmployeeID"   type="xs:string" />
        <xs:element name="OrderDate"    type="xs:string" />
        <xs:element name="RequiredDate" type="xs:string" />
        <xs:element name="ShippedDate"  type="xs:string" />
        <xs:element name="ShipVia"      type="xs:string" />
        <xs:element name="Freight"      type="xs:string" />
        <xs:element name="ShipName"     type="xs:string" />
        <xs:element name="ShipAddress"  type="xs:string" />
        <xs:element name="ShipCity"     type="xs:string" />
        <xs:element name="ShipPostalCode" type="xs:string" />
        <xs:element name="ShipCountry"  type="xs:string" />
        <xs:element name="ShipRegion"   type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Link: http://www.asm32.net/article_details.aspx?id=1511


浏览次数 518 发布时间 2006/7/28 8:54:33 从属分类 CODE 【评论】【 】【打印】【关闭
 
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | 书签 | ASP.Net书签 | 京ICP备09029108号-1