Partager via


XmlAnyElementAttribute.Namespace Propriété

Définition

Obtient ou définit l'espace de noms XML généré dans le document XML.

public:
 property System::String ^ Namespace { System::String ^ get(); void set(System::String ^ value); };
public string Namespace { get; set; }
public string? Namespace { get; set; }
member this.Namespace : string with get, set
Public Property Namespace As String

Valeur de propriété

Espace de noms XML.

Exemples

#using <system.dll>
#using <system.xml.dll>

using namespace System;
using namespace System::Text;
using namespace System::IO;
using namespace System::Xml::Serialization;
using namespace System::Xml;
using namespace System::Xml::Schema;

[XmlRoot(Namespace="http://www.cohowinery.com")]
public ref class Group
{
public:
   String^ GroupName;

   // This is for serializing Employee elements.

   [XmlAnyElement(Name="Employee")]
   array<XmlElement^>^UnknownEmployees;

   // This is for serializing City elements.   

   [XmlAnyElement
   (Name="City",
   Namespace="http://www.cpandl.com")]
   array<XmlElement^>^UnknownCity;

   // This one is for all other unknown elements.

   [XmlAnyElement]
   array<XmlElement^>^UnknownElements;
};

void SerializeObject( String^ filename )
{
   XmlSerializer^ ser = gcnew XmlSerializer( Group::typeid );

   // Create an XmlNamespaces to use.
   XmlSerializerNamespaces^ namespaces = gcnew XmlSerializerNamespaces;
   namespaces->Add( "c", "http://www.cohowinery.com" );
   namespaces->Add( "i", "http://www.cpandl.com" );
   Group^ myGroup = gcnew Group;

   // Create arrays of arbitrary XmlElement objects.
   // First create an XmlDocument, used to create the 
   // XmlElement objects.
   XmlDocument^ xDoc = gcnew XmlDocument;

   // Create an array of Employee XmlElement objects.
   XmlElement^ El1 = xDoc->CreateElement( "Employee", "http://www.cohowinery.com" );
   El1->InnerText = "John";
   XmlElement^ El2 = xDoc->CreateElement( "Employee", "http://www.cohowinery.com" );
   El2->InnerText = "Joan";
   XmlElement^ El3 = xDoc->CreateElement( "Employee", "http://www.cohowinery.com" );
   El3->InnerText = "Jim";
   array<XmlElement^>^employees = {El1,El2,El3};
   myGroup->UnknownEmployees = employees;

   // Create an array of City XmlElement objects.
   XmlElement^ inf1 = xDoc->CreateElement( "City", "http://www.cpandl.com" );
   inf1->InnerText = "Tokyo";
   XmlElement^ inf2 = xDoc->CreateElement( "City", "http://www.cpandl.com" );
   inf2->InnerText = "New York";
   XmlElement^ inf3 = xDoc->CreateElement( "City", "http://www.cpandl.com" );
   inf3->InnerText = "Rome";
   array<XmlElement^>^cities = {inf1,inf2,inf3};
   myGroup->UnknownCity = cities;
   XmlElement^ xEl1 = xDoc->CreateElement( "bld" );
   xEl1->InnerText = "42";
   XmlElement^ xEl2 = xDoc->CreateElement( "Region" );
   xEl2->InnerText = "West";
   XmlElement^ xEl3 = xDoc->CreateElement( "type" );
   xEl3->InnerText = "Technical";
   array<XmlElement^>^elements = {xEl1,xEl2,xEl3};
   myGroup->UnknownElements = elements;

   // Serialize the class, and close the TextWriter.
   TextWriter^ writer = gcnew StreamWriter( filename );
   ser->Serialize( writer, myGroup, namespaces );
   writer->Close();
}

void DeserializeObject( String^ filename )
{
   XmlSerializer^ ser = gcnew XmlSerializer( Group::typeid );
   FileStream^ fs = gcnew FileStream( filename,FileMode::Open );
   Group^ myGroup;
   myGroup = safe_cast<Group^>(ser->Deserialize( fs ));
   fs->Close();
   for ( int i = 0; i < myGroup->UnknownEmployees->Length; ++i )
   {
      XmlElement^ xEmp = myGroup->UnknownEmployees[ i ];
      Console::WriteLine( "{0}: {1}", xEmp->LocalName, xEmp->InnerText );
   }
   for ( int i = 0; i < myGroup->UnknownCity->Length; ++i )
   {
      XmlElement^ xCity = myGroup->UnknownCity[ i ];
      Console::WriteLine( "{0}: {1}", xCity->LocalName, xCity->InnerText );
   }
   for ( int i = 0; i < myGroup->UnknownElements->Length; ++i )
   {
      XmlElement^ xEmp = myGroup->UnknownElements[ i ];
      Console::WriteLine( "{0}: {1}", xEmp->LocalName, xEmp->InnerText );
   }
}

int main()
{
   SerializeObject(  "AnyElementArray.xml" );
   DeserializeObject(  "AnyElementArray.xml" );
   Console::WriteLine(  "Done" );
}
using System;
using System.Text;
using System.IO;
using System.Xml.Serialization;
using System.Xml;
using System.Xml.Schema;

[XmlRoot(Namespace = "http://www.cohowinery.com")]
public class Group{
   public string GroupName;

   // This is for serializing Employee elements.
   [XmlAnyElement(Name = "Employee")]
   public XmlElement[] UnknownEmployees;

   // This is for serializing City elements.   
   [XmlAnyElement
   (Name = "City", 
   Namespace = "http://www.cpandl.com")]
   public XmlElement[] UnknownCity;

    // This one is for all other unknown elements.
   [XmlAnyElement]
   public XmlElement[] UnknownElements;
}

public class Test{
   static void Main(){
      Test t = new Test();
      t.SerializeObject("AnyElementArray.xml");
      t.DeserializeObject("AnyElementArray.xml");
      Console.WriteLine("Done");
   }

   private void SerializeObject(string filename){
      XmlSerializer ser = new XmlSerializer(typeof(Group));
      // Create an XmlNamespaces to use.
      XmlSerializerNamespaces namespaces =
      new XmlSerializerNamespaces();
      namespaces.Add("c", "http://www.cohowinery.com");
      namespaces.Add("i", "http://www.cpandl.com");
      Group myGroup = new Group();
      // Create arrays of arbitrary XmlElement objects.
      // First create an XmlDocument, used to create the 
      // XmlElement objects.
      XmlDocument xDoc = new XmlDocument();

      // Create an array of Employee XmlElement objects.
      XmlElement El1 = xDoc.CreateElement("Employee", "http://www.cohowinery.com");
      El1.InnerText = "John";
      XmlElement El2 = xDoc.CreateElement("Employee", "http://www.cohowinery.com");
      El2.InnerText = "Joan";
      XmlElement El3 = xDoc.CreateElement("Employee", "http://www.cohowinery.com");
      El3.InnerText = "Jim";
      myGroup.UnknownEmployees= new XmlElement[]{El1, El2, El3};     
    
      // Create an array of City XmlElement objects.
      XmlElement inf1 = xDoc.CreateElement("City", "http://www.cpandl.com");
      inf1.InnerText = "Tokyo";
      XmlElement inf2 = xDoc.CreateElement("City", "http://www.cpandl.com");     
      inf2.InnerText = "New York";
      XmlElement inf3 = xDoc.CreateElement("City", "http://www.cpandl.com");     
      inf3.InnerText = "Rome";

      myGroup.UnknownCity = new XmlElement[]{inf1, inf2, inf3};

      XmlElement xEl1 = xDoc.CreateElement("bld");
      xEl1.InnerText = "42";
      XmlElement xEl2 = xDoc.CreateElement("Region");
      xEl2.InnerText = "West";
      XmlElement xEl3 = xDoc.CreateElement("type");
      xEl3.InnerText = "Technical";
      myGroup.UnknownElements = 
        new XmlElement[]{xEl1,xEl2,xEl3};
      // Serialize the class, and close the TextWriter.
      TextWriter writer = new StreamWriter(filename);
      ser.Serialize(writer, myGroup, namespaces);
      writer.Close();
   }

   private void DeserializeObject(string filename){
      XmlSerializer ser = new XmlSerializer(typeof(Group));
      FileStream fs = new FileStream(filename, FileMode.Open);
      Group myGroup;
      myGroup = (Group)ser.Deserialize(fs);
      fs.Close();
      foreach(XmlElement xEmp in myGroup.UnknownEmployees){
         Console.WriteLine(xEmp.LocalName + ": " + xEmp.InnerText);}
      foreach(XmlElement xCity in myGroup.UnknownCity){
         Console.WriteLine(xCity.LocalName + ": " + xCity.InnerText);}
      foreach(XmlElement xEl in myGroup.UnknownElements){
         Console.WriteLine(xEl.LocalName + ": " + xEl.InnerText);}
   }
 }
Imports System.Text
Imports System.IO
Imports System.Xml.Serialization
Imports System.Xml
Imports System.Xml.Schema


<XmlRoot(Namespace:= "http://www.cohowinery.com")> _
Public Class Group
   Public GroupName As String 

   ' This is for serializing Employee elements.
   <XmlAnyElement(Name:="Employee")> _
   Public  UnknownEmployees() As XmlElement

   ' This is for serializing City elements.   
   <XmlAnyElement _
   (Name:="City", _
   Namespace:="http://www.cpandl.com")> _
   Public UnknownCity() As XmlElement 

    ' This one is for all other unknown elements.
   <XmlAnyElement> _
   Public UnknownElements() As XmlElement 
End Class

Public Class Test
   Shared Sub Main()
      Dim t  As Test = New Test()
      t.SerializeObject("AnyElementArray.xml")
      t.DeserializeObject("AnyElementArray.xml")
      Console.WriteLine("Done")
   End Sub

   Private Sub SerializeObject(filename As String)
      Dim ser As XmlSerializer  = _
      New XmlSerializer(GetType(Group))
      ' Create an XmlNamespaces to use.
      Dim namespaces As XmlSerializerNamespaces = _
      New XmlSerializerNamespaces()
      namespaces.Add("c", "http://www.cohowinery.com")
      namespaces.Add("i", "http://www.cpandl.com")
      Dim myGroup As Group = New Group()
      ' Create arrays of arbitrary XmlElement objects.
      ' First create an XmlDocument, used to create the 
      ' XmlElement objects.
      Dim xDoc As XmlDocument = New XmlDocument()

      ' Create an array of Employee XmlElement objects.
      Dim El1 As XmlElement = xDoc.CreateElement("Employee", "http://www.cohowinery.com")
      El1.InnerText = "John"
      Dim El2 As XmlElement = xDoc.CreateElement("Employee", "http://www.cohowinery.com")
      El2.InnerText = "Joan"
      Dim El3 As XmlElement = xDoc.CreateElement("Employee", "http://www.cohowinery.com")
      El3.InnerText = "Jim"
      myGroup.UnknownEmployees= New XmlElement(){El1, El2, El3}     
    
      ' Create an array of City XmlElement objects.
      Dim inf1 As XmlElement = xDoc.CreateElement("City", "http://www.cpandl.com")
      inf1.InnerText = "Tokyo"
      Dim inf2 As XmlElement = xDoc.CreateElement("City", "http://www.cpandl.com")     
      inf2.InnerText = "New York"
      Dim inf3 As XmlElement = xDoc.CreateElement("City", "http://www.cpandl.com")     
      inf3.InnerText = "Rome"

      myGroup.UnknownCity = New XmlElement(){inf1, inf2, inf3}

      Dim xEl1 As XmlElement = xDoc.CreateElement("bld")
      xEl1.InnerText = "42"
      Dim xEl2 As XmlElement = xDoc.CreateElement("Region")
      xEl2.InnerText = "West"
      Dim xEl3 As XmlElement = xDoc.CreateElement("type")
      xEl3.InnerText = "Technical"
      myGroup.UnknownElements = _
      New XmlElement(){xEl1,xEl2,xEl3}
      ' Serialize the class, and close the TextWriter.
      Dim writer As TextWriter = New StreamWriter(filename)
      ser.Serialize(writer, myGroup, namespaces)
      writer.Close()

   End Sub

   Private Sub DeserializeObject(filename As String)
      Dim ser As XmlSerializer = _
      New XmlSerializer(GetType(Group))
      Dim fs As FileStream = New FileStream(filename, FileMode.Open)
      Dim myGroup As Group 
      myGroup = CType(ser.Deserialize(fs), Group)
      fs.Close()
      Dim xEmp As XmlElement
      for each xEmp in myGroup.UnknownEmployees
         Console.WriteLine(xEmp.LocalName & ": " & xEmp.InnerText)
      Next 
      
      Dim xCity As XmlElement
      for each xCity in myGroup.UnknownCity
         Console.WriteLine(xCity.LocalName & ": " & xCity.InnerText)
      Next
      
      Dim xEl As XmlElement
      for each  xEl in myGroup.UnknownElements
         Console.WriteLine(xEl.LocalName & ": " & xEl.InnerText)
      Next
   End Sub
 End Class

Remarques

La Namespace propriété vous permet de définir un nom unique pour l’attribut XML. La Namespace propriété est conforme aux règles de création d’un espace de noms XML, comme indiqué dans le document Espaces de noms dans XML du World Wide Web Consortium.

Pour définir la Namespace propriété sur un nom préfixé, créez un XmlSerializerNamespaces qui contient les espaces de noms et les préfixes utilisés dans le document XML. Définissez la Namespace propriété sur l’un des espaces de noms dans .XmlSerializerNamespaces Lorsque le code XML est généré, le nom d’attribut est correctement préfixé avec le préfixe associé à l’espace de noms spécifié.

S’applique à