XmlAnyElementAttributes Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Objektumok gyűjteményét XmlAnyElementAttribute jelöli.
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
- Öröklődés
-
XmlAnyElementAttributes
- Öröklődés
- Megvalósítás
Példák
Az alábbi példa létrehoz egy újat XmlAnyElementAttribute , és hozzáadja a tulajdonságon keresztül elért objektumok gyűjteményéhez XmlAnyElements . A XmlAttributes rendszer ezután hozzáadja egy XmlAttributeOverrides, a létrehozásához XmlSerializerhasznált . Az XmlSerializer objektum szerializálására vagy deszerializálására szolgál. A tulajdonság használatának XmlAnyElementAttributes hatásának megtekintéséhez hozzon létre egy UnknownElements.xml nevű XML-dokumentumot a SerializeObjectMain metódus metódusban való futtatásával. Szerkessze az eredményként kapott dokumentumot más (ismeretlen) elemek belefoglalásához. A metódusban megjegyzést fűzhet a SerializeObjectMain híváshoz, és feloldhatja a DeserializeObject metódushoz való meghívást, amely kiírja az ismeretlen XML-elemek nevét és értékét.
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
Megjegyzések
Ezzel felülbírálhatja XmlAnyElementAttributes az objektumok egy csoportjának viselkedését XmlAnyElementAttribute . Az osztály több példánya is alkalmazható egy XmlAnyElementAttribute osztálytagra, feltéve, hogy mindegyik példánynak külön Name tulajdonságértéke van. Ez arra utasítja az XmlSerializer ismeretlen elemeket, hogy az elnevezett elem alatt lévő ismeretlen elemeket gyűjtsék a megfelelő tömbbe. Emiatt az osztály több példánya XmlAnyElementAttribute is hozzáadható a XmlAnyElementAttributes.
Objektumkészlet XmlAnyElementAttribute felülbírálása:
Hozzon létre egy XmlAnyElementAttributes.
Hozza létre az objektumok készletét XmlAnyElementAttribute , és adja hozzá az egyes objektumokat a gyűjteményhez a Add metódus használatával.
Hozzon létre egy XmlAttributes.
Állítsa be a XmlAnyElements tulajdonságot a XmlAnyElementAttributes.
Hozzon létre egy XmlAttributeOverrides.
Adja hozzá a XmlAttributesXmlAttributeOverrides metódust a Add metódushoz.
Hozzon létre egy példányt a XmlSerializer használatával.XmlAttributeOverrides
Szerializáljon vagy deszerializáljon egy objektumhalmazt XmlAnyElementAttribute tartalmazó objektumot.
Konstruktorok
| Név | Description |
|---|---|
| XmlAnyElementAttributes() |
Inicializálja a XmlAnyElementAttributes osztály új példányát. |
Tulajdonságok
| Név | Description |
|---|---|
| Capacity |
Lekéri vagy beállítja a tartalmazható elemek CollectionBase számát. (Öröklődés forrása CollectionBase) |
| Count |
Lekéri a .ICollection |
| Count |
Lekéri a példányban CollectionBase található elemek számát. Ez a tulajdonság nem bírálható felül. (Öröklődés forrása CollectionBase) |
| InnerList |
ArrayList Lekéri a példány elemeinek CollectionBase listáját. (Öröklődés forrása CollectionBase) |
| Item[Int32] |
Lekéri vagy beállítja a XmlAnyElementAttribute megadott indexet. |
| List |
IList Lekéri a példány elemeinek CollectionBase listáját. (Öröklődés forrása CollectionBase) |
Metódusok
| Név | Description |
|---|---|
| Add(XmlAnyElementAttribute) |
Hozzáad egy XmlAnyElementAttribute elemet a gyűjteményhez. |
| Clear() |
Eltávolítja az összes elemet a IListprogramból. |
| Clear() |
Eltávolítja az összes objektumot a CollectionBase példányból. Ez a metódus nem bírálható felül. (Öröklődés forrása CollectionBase) |
| Contains(XmlAnyElementAttribute) |
Beolvas egy értéket, amely jelzi, hogy a megadott XmlAnyElementAttribute elem létezik-e a gyűjteményben. |
| CopyTo(XmlAnyElementAttribute[], Int32) |
A teljes gyűjteményt átmásolja egy kompatibilis egydimenziós objektumtömbbe XmlElementAttribute a céltömb megadott indexétől kezdve. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetEnumerator() |
Egy gyűjteményen keresztül iteráló enumerátort ad vissza. |
| GetEnumerator() |
Egy enumerátort ad vissza, amely a példányon keresztül CollectionBase iterál. (Öröklődés forrása CollectionBase) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IndexOf(XmlAnyElementAttribute) |
Lekéri a megadott XmlAnyElementAttributeindexet. |
| Insert(Int32, XmlAnyElementAttribute) |
Beszúr egy XmlAnyElementAttribute gyűjteménybe a megadott indexben. |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| OnClear() |
További egyéni folyamatokat hajt végre a példány tartalmának CollectionBase törlésekor. (Öröklődés forrása CollectionBase) |
| OnClearComplete() |
További egyéni folyamatokat hajt végre a példány tartalmának CollectionBase törlése után. (Öröklődés forrása CollectionBase) |
| OnInsert(Int32, Object) |
További egyéni folyamatokat hajt végre, mielőtt új elemet szúr be a CollectionBase példányba. (Öröklődés forrása CollectionBase) |
| OnInsertComplete(Int32, Object) |
További egyéni folyamatokat hajt végre, miután beszúrt egy új elemet a CollectionBase példányba. (Öröklődés forrása CollectionBase) |
| OnRemove(Int32, Object) |
További egyéni folyamatokat hajt végre, amikor eltávolít egy elemet a CollectionBase példányból. (Öröklődés forrása CollectionBase) |
| OnRemoveComplete(Int32, Object) |
További egyéni folyamatokat hajt végre, miután eltávolított egy elemet a CollectionBase példányból. (Öröklődés forrása CollectionBase) |
| OnSet(Int32, Object, Object) |
További egyéni folyamatokat hajt végre, mielőtt beállít egy értéket a CollectionBase példányban. (Öröklődés forrása CollectionBase) |
| OnSetComplete(Int32, Object, Object) |
További egyéni folyamatokat hajt végre, miután beállított egy értéket a CollectionBase példányban. (Öröklődés forrása CollectionBase) |
| OnValidate(Object) |
További egyéni folyamatokat hajt végre egy érték ellenőrzésekor. (Öröklődés forrása CollectionBase) |
| Remove(XmlAnyElementAttribute) |
Eltávolítja a megadottt XmlAnyElementAttribute a gyűjteményből. |
| RemoveAt(Int32) |
Eltávolítja az IList elemet a megadott indexből. |
| RemoveAt(Int32) |
Eltávolítja az elemet a példány megadott indexéből CollectionBase . Ez a módszer nem bírálható felül. (Öröklődés forrása CollectionBase) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Név | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Másolja a tömb elemeit ICollection egy adott indextől kezdve. |
| ICollection.CopyTo(Array, Int32) |
A teljes CollectionBase példányt egy kompatibilis egydimenziósra Arraymásolja a céltömb megadott indexétől kezdve. (Öröklődés forrása CollectionBase) |
| ICollection.IsSynchronized |
Beolvas egy értéket, amely jelzi, hogy a ICollection hozzáférés szinkronizálva van-e (a szál biztonságos). |
| ICollection.IsSynchronized |
Beolvas egy értéket, amely jelzi, hogy a CollectionBase hozzáférés szinkronizálva van-e (a szál biztonságos). (Öröklődés forrása CollectionBase) |
| ICollection.SyncRoot |
Lekéri az objektumot, amely a hozzáférés szinkronizálására használható.ICollection |
| ICollection.SyncRoot |
Lekéri az objektumot, amely a hozzáférés szinkronizálására használható.CollectionBase (Öröklődés forrása CollectionBase) |
| IList.Add(Object) |
Elemet ad hozzá a IList. |
| IList.Add(Object) |
Objektumot ad hozzá a CollectionBasevégéhez. (Öröklődés forrása CollectionBase) |
| IList.Contains(Object) |
Meghatározza, hogy az IList adott érték tartalmaz-e. |
| IList.Contains(Object) |
Meghatározza, hogy az CollectionBase adott elem tartalmaz-e. (Öröklődés forrása CollectionBase) |
| IList.IndexOf(Object) |
Egy adott elem indexét határozza meg a IList. |
| IList.IndexOf(Object) |
Megkeresi a megadott Object értéket, és a teljes első CollectionBaseelőfordulás nulla alapú indexét adja vissza. (Öröklődés forrása CollectionBase) |
| IList.Insert(Int32, Object) |
Beszúr egy elemet a IList megadott indexbe. |
| IList.Insert(Int32, Object) |
Elemet szúr be a CollectionBase megadott indexbe. (Öröklődés forrása CollectionBase) |
| IList.IsFixedSize |
Egy értéket kap, amely jelzi, hogy a IList méret rögzített-e. |
| IList.IsFixedSize |
Egy értéket kap, amely jelzi, hogy a CollectionBase méret rögzített-e. (Öröklődés forrása CollectionBase) |
| IList.IsReadOnly |
Beolvas egy értéket, amely jelzi, hogy az IList írásvédett-e. |
| IList.IsReadOnly |
Beolvas egy értéket, amely jelzi, hogy az CollectionBase írásvédett-e. (Öröklődés forrása CollectionBase) |
| IList.Item[Int32] |
Lekéri vagy beállítja az elemet a megadott indexen. |
| IList.Item[Int32] |
Lekéri vagy beállítja az elemet a megadott indexen. (Öröklődés forrása CollectionBase) |
| IList.Remove(Object) |
Eltávolítja egy adott objektum első előfordulását a IList. |
| IList.Remove(Object) |
Eltávolítja egy adott objektum első előfordulását a CollectionBase. (Öröklődés forrása CollectionBase) |
Bővítő metódusok
| Név | Description |
|---|---|
| AsParallel(IEnumerable) |
Lehetővé teszi a lekérdezés párhuzamosítását. |
| AsQueryable(IEnumerable) |
Átalakítja az egyiket IEnumerableIQueryable. |
| Cast<TResult>(IEnumerable) |
Egy elem elemeit IEnumerable a megadott típusra veti. |
| OfType<TResult>(IEnumerable) |
Egy adott típus alapján szűri IEnumerable egy adott elem elemeit. |