1. Crie um arquivo XML com um esquema XML associado
1. Para criar um novo projeto de aplicativo do Windows,
primeiro você precisa criar um novo aplicativo do Windows em Visual Basic ou Visual C#. Crie um novo projeto e nomeie-o como "XMLCustomerList", aponte para Novo no menu Arquivo e clique em Projeto para exibir a caixa de diálogo Novo Projeto. Dependendo do idioma que você deseja usar, selecione Projeto Visual Basic ou Projeto Visual C# no painel Tipo de Projeto e selecione Aplicativo Windows. Nomeie o projeto como "XMLCustomerList" e clique em OK para criar o projeto.
2. O Visual Studio adicionará o projeto XMLCustomerList ao Solution Explorer.
Para adicionar um novo item de arquivo XML ao projeto, selecione Adicionar Novo Item no menu Projeto. A caixa de diálogo Adicionar novo item aparecerá. Selecione Arquivo XML na área Modelos da caixa de diálogo Adicionar novo item. Nomeie o arquivo XML como "CustomerList" e clique em Abrir.
3. Adicione um novo item de esquema XML ao projeto
Para adicionar um novo item de esquema XML ao projeto, selecione "Adicionar Novo Item" no menu "Projeto". A caixa de diálogo Adicionar novo item é exibida. Selecione Esquema XML na área Modelos da caixa de diálogo Adicionar novo item. Nomeie o esquema como "CustomerListSchema" e clique em Abrir.
4. Adicione uma definição de tipo simples ao esquema.
Crie um elemento de tipo simples que represente um código postal de 5 dígitos.
Na guia "Esquema XML" da "Caixa de ferramentas", arraste um "simpleType" para a superfície de design. Selecione o nome padrão “simpleType1” e renomeie o tipo para “postalCode”. Use a tecla TAB para navegar até a próxima célula à direita e selecione “positivoInteger” na lista suspensa. Use a tecla TAB para navegar para a próxima linha.
Clique na caixa suspensa. A única opção é faceta. Isso ocorre porque os tipos simples não podem conter elementos ou atributos como parte de seu modelo de conteúdo. Somente facetas podem ser usadas para gerar tipos simples. Use a tecla TAB para navegar até a próxima célula à direita e selecione “padrão” na lista suspensa. Use a tecla TAB novamente para navegar até a próxima célula à direita e digite "d{5}".
As facetas do padrão permitem inserir expressões regulares. A expressão regular d{5} significa que o conteúdo do tipo "postalCode" está limitado a 5 caracteres. As expressões regulares estão além do escopo deste passo a passo, mas você pode ver como usar facetas de padrão com tipos de dados selecionados para permitir apenas dados específicos em tipos simples.
Se você mudar o esquema para visualização XML, deverá ver o código a seguir na tag do esquema de nível raiz (isso significa que o exemplo de código não inclui nem a parte de declaração real da estrutura nem a tag de esquema real chamada raiz ou nível de documento tag) :
<xs:simpleType name="postalCode">
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="d{5}" />
</xs:restriction>
</xs: simpleType>
Selecione Salvar tudo no menu Arquivo.
5. Adicione uma definição de tipo complexo ao esquema
Crie um elemento de tipo complexo que represente um endereço padrão dos EUA
. Mude para a visualização Esquema. Na guia Esquema XML da caixa de ferramentas, arraste um complexType para a superfície de design. Selecione o nome padrão "complexType1" e renomeie o tipo para "usAddress". Não selecione um tipo de dados para este elemento. Use a tecla TAB para navegar para a próxima linha. Clique na caixa de listagem suspensa e você verá diversas opções de elementos que podem ser adicionados ao tipo complexo. O elemento pode ser selecionado, mas para o restante deste passo a passo, você apenas usará TAB sobre a célula porque o elemento é definido por padrão. Use a tecla TAB para navegar até a próxima célula à direita e digite “Nome”.
Use a tecla TAB para navegar até a próxima célula à direita e defina o tipo de dados como string. Repita no elemento usAddress para criar uma nova linha para:
nome do elemento
tipo de dados
Rua
corda
Cidade
corda
Estado
corda
CEP
código postal
Observe o tipo de dados atribuído ao elemento Zip. É o tipo simples postalCode que você criou anteriormente.
Se você mudar para a visualização XML, deverá ver o código a seguir na tag do esquema de nível raiz (isso significa que o exemplo de código não inclui nem a parte de declaração real do esquema nem as tags de esquema reais chamadas tags de raiz ou de nível de documento):
< xs:simpleType name="postalCode">
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="d{5}" />
</xs:restriction>
</xs:simpleType>
< xs :complexType name="usAddress">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Street" type="xs:string" />
< xs:element name="Cidade" type="xs:string" />
<xs:element name="Estado" type="xs:string" />
<xs:element name="Zip" type="postalCode" / >
</xs:sequence>
</xs:complexType>
Agora você definiu dois tipos separados que podem ser usados em definições de elementos, bem como em tipos. Selecione Salvar tudo no menu Arquivo. Adicione o elemento principal ao esquema
6. Após definir alguns tipos de dados, você pode construir a definição de dados real para o arquivo XML que será criado. O arquivo XML conterá dados para a lista de clientes, portanto crie os elementos reais que definem os dados que serão válidos no arquivo XML.
Crie o elemento Cliente
Alternar para visualização Esquema. Arraste um "elemento" da guia Esquema XML da Caixa de Ferramentas para a superfície de design. Selecione o nome padrão “element1” e renomeie-o para “cliente”. Não selecione um tipo de dados para este elemento. Use a tecla TAB para navegar até a célula central da próxima linha e digite "CompanyName". Use a tecla TAB para navegar até a próxima célula à direita e defina o tipo de dados como string. Repita para criar novas linhas no elemento Cliente para:
nome do elemento
tipo de dados
NomeDoContato
corda
E-mail
corda
Telefone
corda
Endereço de cobrança
nósEndereço
Enviar para endereço
nósEndereço
Observe os tipos de dados atribuídos ao elemento "BillToAddress" e ao elemento "ShipToAddress". É o tipo complexo usAddress criado anteriormente. Poderíamos ter definido tipos simples para os elementos Email, Phone, etc.
Se você mudar o esquema para visualização XML, deverá ver o código a seguir na tag do esquema de nível raiz (isso significa que o exemplo de código não inclui nem a parte de declaração real da estrutura nem a tag de esquema real chamada raiz ou nível de documento tag) :
<xs:simpleType name="postalCode">
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="d{5}" />
</xs:restriction>
</xs: simpleType>
<xs:complexType name="usAddress">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Street" type="xs:string " / >
<xs:element name="Cidade" type="xs:string" />
<xs:element name="Estado" type="xs:string" />
<xs:element name="Zip" type= "postalCode " />
</xs:sequence>
</xs:complexType>
<xs:element name="Customer">
<xs:complexType>
<xs:sequence>
<xs:element name="CompanyName" type="xs :string " />
<xs:element name="ContactName" type="xs:string" />
<xs:element name="Email" type="xs:string" />
<xs:element name="Telefone" type= "xs:string" />
<xs:element name="ShipToAddress" type="usAddress" />
<xs:element name="BillToAddress" type="usAddress" />
</xs:sequence>
</xs :complexType >
</xs:element>
Selecione Salvar tudo no menu Arquivo.
7. Para permitir múltiplas instâncias de dados do cliente no documento XML, criaremos um elemento chamado customerList que conterá todos os elementos individuais do cliente.
Crie o elemento customerList Arraste um "elemento" da guia Esquema XML da Caixa de Ferramentas para a superfície de design. Selecione o nome padrão "element1" e renomeie-o para "customerList". Não selecione um tipo de dados para este elemento. Selecione o elemento customer (criado anteriormente) e arraste-o para o elemento customerList. Painéis de design separados representam a estrutura hierárquica dos dados. Selecione Salvar tudo no menu Arquivo.
8. Associe o esquema ao arquivo XML
Crie uma associação entre o arquivo XML e o esquema XML. No "Solution Explorer", clique duas vezes no arquivo "CustomerList.xml". O arquivo XML é aberto na visualização XML do designer. Na janela Propriedades, clique na célula à direita da propriedade targetSchema e selecione http://tempuri.org/CustomerListSchema.xsd.
O Visual Studio adiciona uma referência ao esquema no arquivo CustomerList.xml e adiciona a tag <customerList>.
Adicionando dados ao arquivo XML
9. Agora você pode adicionar dados ao arquivo XML. Ao associar um esquema a um arquivo XML, o editor XML agora conhece os elementos válidos para incluir no arquivo XML e fornece uma grade formatada na visualização de dados.
Para adicionar dados ao arquivo customerList.xml, no arquivo "customerList.xml" na visualização XML, posicione o cursor entre as tags <customerList> de abertura e fechamento (tag inicial = <customerList>, tag de fechamento = </customerList>) .
Digite <. Selecione o elemento Cliente.
Digite > para finalizar a tag.
Digite < e selecione CompanyName na lista de elementos válidos.
Digite > para finalizar a tag.
Digite Blue Yonder Airlines como o nome da empresa.
Mude para a visualização de dados. Digite Nate Sun no campo Nome do contato na grade. Preencha registros adicionando dados a outros campos da grade. Volte para a visualização "XML". Os dados na grade agora estão formatados corretamente como XML.
2. Crie um esquema XML a partir de um arquivo XML.
Crie um novo esquema XML baseado em um documento XML existente
1. Carregue um documento XML (arquivo .xml) no "XML Designer".
2. Clique em Criar Esquema no menu XML.
3. Um esquema XML (arquivo .xsd) será adicionado ao projeto atual com o mesmo nome do arquivo XML original.
4. Carregue o esquema XML recém-criado (arquivo .xsd) no "XML Designer".
5. Verifique e edite os tipos de dados atribuídos ao criar o esquema.
Nota Ao derivar um esquema de um documento XML existente, todos os tipos de dados são inicialmente definidos como string, portanto você deve editar os tipos de dados de acordo com os requisitos de conteúdo dos dados XML.
Se precisar fazer alterações no esquema, você poderá usar o XML Designer para adicionar, editar e remover elementos.
http://www.cnblogs.com/xh831213/archive/2006/09/14/503944.html