XmlAnyElementAttributes Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma coleção de XmlAnyElementAttribute objetos.
public ref class XmlAnyElementAttributes : System::Collections::IList
public ref class XmlAnyElementAttributes : System::Collections::CollectionBase
public class XmlAnyElementAttributes : System.Collections.IList
public class XmlAnyElementAttributes : System.Collections.CollectionBase
type XmlAnyElementAttributes = class
interface ICollection
interface IEnumerable
interface IList
type XmlAnyElementAttributes = class
inherit CollectionBase
Public Class XmlAnyElementAttributes
Implements IList
Public Class XmlAnyElementAttributes
Inherits CollectionBase
- Herança
-
XmlAnyElementAttributes
- Herança
- Implementações
Exemplos
O exemplo a seguir cria um novo XmlAnyElementAttribute e adiciona-o à coleção de objetos acessados por meio da XmlAnyElements propriedade. Em XmlAttributes seguida, ele é adicionado a um XmlAttributeOverrides, que é usado para criar um XmlSerializer. O XmlSerializer é usado para serializar ou desserializar um objeto. Para ver o efeito do uso XmlAnyElementAttributes da propriedade, crie um documento XML chamado UnknownElements.xml executando o SerializeObject método no Main método. Edite o documento resultante para incluir outros elementos (desconhecidos). Comente a SerializeObject chamada no Main método e descompacte a chamada para o DeserializeObject método, que imprime o nome e o valor de qualquer elemento XML desconhecido.
using System;
using System.IO;
using System.Xml.Serialization;
using System.Xml;
public class Group{
public string GroupName;
[XmlAnyElement]
public object[]Things;
}
public class Test{
static void Main(){
Test t = new Test();
// 1 Run this and create the XML document.
// 2 Add new elements to the XML document.
// 3 Comment out the new line, and uncomment
// the DeserializeObject line to deserialize the
// XML document and see unknown elements.
t.SerializeObject("UnknownElements.xml");
// t.DeserializeObject("UnknownElements.xml");
}
private void SerializeObject(string filename){
XmlSerializer ser = new XmlSerializer(typeof (Group));
TextWriter writer = new StreamWriter(filename);
Group g = new Group();
g.GroupName = "MyGroup";
ser.Serialize(writer, g);
writer.Close();
}
private void DeserializeObject(string filename){
XmlSerializer ser = CreateOverrideSerializer();
// A FileStream is needed to read the XML document.
FileStream fs = new FileStream(filename, FileMode.Open);
Group g = (Group)
ser.Deserialize(fs);
fs.Close();
Console.WriteLine(g.GroupName);
Console.WriteLine(g.Things.Length);
foreach(XmlElement xelement in g.Things){
Console.WriteLine(xelement.Name + ": " + xelement.InnerXml);
}
}
private XmlSerializer CreateOverrideSerializer(){
XmlAnyElementAttribute myAnyElement =
new XmlAnyElementAttribute();
XmlAttributeOverrides xOverride =
new XmlAttributeOverrides();
XmlAttributes xAtts = new XmlAttributes();
xAtts.XmlAnyElements.Add(myAnyElement);
xOverride.Add(typeof(Group), "Things", xAtts);
return new XmlSerializer(typeof(Group) , xOverride);
}
}
Imports System.IO
Imports System.Xml.Serialization
Imports System.Xml
Public Class Group
Public GroupName As String
<XmlAnyElement> _
Public Things () As object
End Class
Public Class Test
Shared Sub Main()
Dim t As Test = New Test()
' 1 Run this and create the XML document.
' 2 Add New elements to the XML document.
' 3 Comment out the New line, and uncomment
' the DeserializeObject line to deserialize the
' XML document and see unknown elements.
t.SerializeObject("UnknownElements.xml")
't.DeserializeObject("UnknownElements.xml")
End Sub
Private Sub SerializeObject(filename As String)
Dim ser As XmlSerializer = New XmlSerializer(GetType (Group))
Dim writer As TextWriter = New StreamWriter(filename)
Dim g As Group = New Group()
g.GroupName = "MyGroup"
ser.Serialize(writer, g)
writer.Close()
End Sub
Private Sub DeserializeObject(filename As String)
Dim ser As XmlSerializer = CreateOverrideSerializer()
' A FileStream is needed to read the XML document.
Dim fs As FileStream = New FileStream(filename, FileMode.Open)
Dim g As Group = CType( _
ser.Deserialize(fs), Group)
fs.Close()
Console.WriteLine(g.GroupName)
Console.WriteLine(g.Things.Length)
Dim xelement As XmlELement
for each xelement in g.Things
Console.WriteLine(xelement.Name &": " & xelement.InnerXml)
next
End Sub
Private Function CreateOverrideSerializer() As XmlSerializer
Dim myAnyElement As XmlAnyElementAttribute = _
New XmlAnyElementAttribute()
Dim xOverride As XmlAttributeOverrides = _
New XmlAttributeOverrides()
Dim xAtts As XmlAttributes = New XmlAttributes()
xAtts.XmlAnyElements.Add(myAnyElement)
xOverride.Add(GetType(Group), "Things", xAtts)
return New XmlSerializer(GetType(Group) , xOverride)
End Function
End Class
Comentários
Use o XmlAnyElementAttributes para substituir o comportamento de um conjunto de XmlAnyElementAttribute objetos. Várias instâncias da XmlAnyElementAttribute classe podem ser aplicadas a um membro de classe, desde que cada instância tenha um valor de propriedade distinto Name ; isso instrui a XmlSerializer coletar elementos desconhecidos sob o elemento nomeado na matriz apropriada. É por esse motivo que várias instâncias da XmlAnyElementAttribute classe podem ser adicionadas ao XmlAnyElementAttributes.
Para substituir um conjunto de XmlAnyElementAttribute objetos:
Criar um XmlAnyElementAttributes.
Crie o conjunto de XmlAnyElementAttribute objetos e adicione cada objeto à coleção usando o Add método.
Criar um XmlAttributes.
Defina a XmlAnyElements propriedade como XmlAnyElementAttributes.
Criar um XmlAttributeOverrides.
Adicione o XmlAttributes método usando XmlAttributeOverrides o Add método.
Criar uma instância do XmlSerializer uso do XmlAttributeOverrides.
Serialize ou desserialize um objeto que contém o conjunto de XmlAnyElementAttribute objetos.
Construtores
| Nome | Description |
|---|---|
| XmlAnyElementAttributes() |
Inicializa uma nova instância da classe XmlAnyElementAttributes. |
Propriedades
| Nome | Description |
|---|---|
| Capacity |
Obtém ou define o número de elementos que podem CollectionBase conter. (Herdado de CollectionBase) |
| Count |
Obtém o número de elementos contidos no ICollection. |
| Count |
Obtém o número de elementos contidos na CollectionBase instância. Essa propriedade não pode ser substituída. (Herdado de CollectionBase) |
| InnerList |
Obtém uma ArrayList lista que contém os elementos na CollectionBase instância. (Herdado de CollectionBase) |
| Item[Int32] |
Obtém ou define o XmlAnyElementAttribute índice especificado. |
| List |
Obtém uma IList lista que contém os elementos na CollectionBase instância. (Herdado de CollectionBase) |
Métodos
| Nome | Description |
|---|---|
| Add(XmlAnyElementAttribute) |
Adiciona um XmlAnyElementAttribute à coleção. |
| Clear() |
Remove todos os itens do IList. |
| Clear() |
Remove todos os objetos da CollectionBase instância. Esse método não pode ser substituído. (Herdado de CollectionBase) |
| Contains(XmlAnyElementAttribute) |
Obtém um valor que indica se o especificado XmlAnyElementAttribute existe na coleção. |
| CopyTo(XmlAnyElementAttribute[], Int32) |
Copia toda a coleção para uma matriz unidimensional compatível de XmlElementAttribute objetos, começando no índice especificado da matriz de destino. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Retorna um enumerador que itera por meio de uma coleção. |
| GetEnumerator() |
Retorna um enumerador que itera por meio da CollectionBase instância. (Herdado de CollectionBase) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IndexOf(XmlAnyElementAttribute) |
Obtém o índice do especificado XmlAnyElementAttribute. |
| Insert(Int32, XmlAnyElementAttribute) |
Insere um XmlAnyElementAttribute na coleção no índice especificado. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| OnClear() |
Executa processos personalizados adicionais ao limpar o conteúdo da CollectionBase instância. (Herdado de CollectionBase) |
| OnClearComplete() |
Executa processos personalizados adicionais depois de limpar o conteúdo da CollectionBase instância. (Herdado de CollectionBase) |
| OnInsert(Int32, Object) |
Executa processos personalizados adicionais antes de inserir um novo elemento na CollectionBase instância. (Herdado de CollectionBase) |
| OnInsertComplete(Int32, Object) |
Executa processos personalizados adicionais depois de inserir um novo elemento na CollectionBase instância. (Herdado de CollectionBase) |
| OnRemove(Int32, Object) |
Executa processos personalizados adicionais ao remover um elemento da CollectionBase instância. (Herdado de CollectionBase) |
| OnRemoveComplete(Int32, Object) |
Executa processos personalizados adicionais depois de remover um elemento da CollectionBase instância. (Herdado de CollectionBase) |
| OnSet(Int32, Object, Object) |
Executa processos personalizados adicionais antes de definir um valor na CollectionBase instância. (Herdado de CollectionBase) |
| OnSetComplete(Int32, Object, Object) |
Executa processos personalizados adicionais depois de definir um valor na CollectionBase instância. (Herdado de CollectionBase) |
| OnValidate(Object) |
Executa processos personalizados adicionais ao validar um valor. (Herdado de CollectionBase) |
| Remove(XmlAnyElementAttribute) |
Remove o especificado XmlAnyElementAttribute da coleção. |
| RemoveAt(Int32) |
Remove o IList item no índice especificado. |
| RemoveAt(Int32) |
Remove o elemento no índice especificado da CollectionBase instância. Esse método não é substituível. (Herdado de CollectionBase) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Copia os elementos de ICollection uma matriz, começando em um índice específico. |
| ICollection.CopyTo(Array, Int32) |
Copia o todo CollectionBase para um unidimensional Arraycompatível, começando no índice especificado da matriz de destino. (Herdado de CollectionBase) |
| ICollection.IsSynchronized |
Obtém um valor que indica se o ICollection acesso ao é sincronizado (thread safe). |
| ICollection.IsSynchronized |
Obtém um valor que indica se o CollectionBase acesso ao é sincronizado (thread safe). (Herdado de CollectionBase) |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso ao ICollection. |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso ao CollectionBase. (Herdado de CollectionBase) |
| IList.Add(Object) |
Adiciona um item ao IList. |
| IList.Add(Object) |
Adiciona um objeto ao final do CollectionBase. (Herdado de CollectionBase) |
| IList.Contains(Object) |
Determina se o IList valor contém um valor específico. |
| IList.Contains(Object) |
Determina se o CollectionBase elemento contém um elemento específico. (Herdado de CollectionBase) |
| IList.IndexOf(Object) |
Determina o índice de um item específico no IList. |
| IList.IndexOf(Object) |
Pesquisa o índice especificado Object e retorna o índice baseado em zero da primeira ocorrência em todo CollectionBaseo . (Herdado de CollectionBase) |
| IList.Insert(Int32, Object) |
Insere um item no IList índice especificado. |
| IList.Insert(Int32, Object) |
Insere um elemento CollectionBase no índice especificado. (Herdado de CollectionBase) |
| IList.IsFixedSize |
Obtém um valor que indica se o IList tamanho tem um tamanho fixo. |
| IList.IsFixedSize |
Obtém um valor que indica se o CollectionBase tamanho tem um tamanho fixo. (Herdado de CollectionBase) |
| IList.IsReadOnly |
Obtém um valor que indica se o IList valor é somente leitura. |
| IList.IsReadOnly |
Obtém um valor que indica se o CollectionBase valor é somente leitura. (Herdado de CollectionBase) |
| IList.Item[Int32] |
Obtém ou define o elemento no índice especificado. |
| IList.Item[Int32] |
Obtém ou define o elemento no índice especificado. (Herdado de CollectionBase) |
| IList.Remove(Object) |
Remove a primeira ocorrência de um objeto específico do IList. |
| IList.Remove(Object) |
Remove a primeira ocorrência de um objeto específico do CollectionBase. (Herdado de CollectionBase) |
Métodos de Extensão
| Nome | Description |
|---|---|
| AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable. |
| Cast<TResult>(IEnumerable) |
Converte os elementos de um IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base em um tipo especificado. |