public class XmlSerializerNamespaces
|
XML namespaces contained by the XmlSerializerNamespaces must conform to the www.w3.org specification named Namespaces in XML.
XML namespaces provide a method for qualifying the names of XML elements and XML attributes in XML documents. A qualified name consists of a prefix and a local name, separated by a colon. The prefix functions only as a placeholder; it is mapped to a URI that specifies a namespace. The combination of the universally-managed URI namespace and the local name produces a name that is guaranteed to be universally unique.
To create qualified names in an XML document:
using System; using System.IO; using System.Xml; using System.Xml.Serialization; public class Run { public static void Main() { Run test = new Run(); test.SerializeObject("XmlNamespaces.xml"); } public void SerializeObject(string filename) { XmlSerializer s = new XmlSerializer(typeof(Books)); // Writing a file requires a TextWriter. TextWriter t = new StreamWriter(filename); /* Create an XmlSerializerNamespaces object and add two prefix-namespace pairs. */ XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("books", "http://www.cpandl.com"); ns.Add("money", "http://www.cohowinery.com"); // Create a Book instance. Book b = new Book(); b.TITLE = "A Book Title"; Price p = new Price(); p.price = (decimal) 9.95; p.currency = "US Dollar"; b.PRICE = p; Books bks = new Books(); bks.Book = b; s.Serialize(t,bks,ns); t.Close(); } } public class Books { [XmlElement(Namespace = "http://www.cohowinery.com")] public Book Book; } [XmlType(Namespace ="http://www.cpandl.com")] public class Book { [XmlElement(Namespace = "http://www.cpandl.com")] public string TITLE; [XmlElement(Namespace ="http://www.cohowinery.com")] public Price PRICE; } public class Price { [XmlAttribute(Namespace = "http://www.cpandl.com")] public string currency; [XmlElement(Namespace = "http://www.cohowinery.com")] public decimal price; }
ctor #1 | Overloaded:.ctor() Default constructor. This constructor is called by derived class constructors to initialize state in this type.Initializes a new instance of the XmlSerializerNamespaces class. |
ctor #2 | Overloaded:.ctor(XmlQualifiedName[] namespaces) Initializes a new instance of the XmlSerializerNamespaces class. |
ctor #3 | Overloaded:.ctor(XmlSerializerNamespaces namespaces) Initializes a new instance of the XmlSerializerNamespaces class, using the specified array of XmlQualifiedName objects to create a collection of prefix-namespace pairs. |
Count | Read-only Gets the number of prefix-namespace pairs in the collection. |
Add | Adds a prefix-namespace pair to an XmlSerializerNamespaces object. |
Equals (inherited from System.Object) |
See base class member description: System.Object.Equals Derived from System.Object, the primary base class for all objects. |
GetHashCode (inherited from System.Object) |
See base class member description: System.Object.GetHashCode Derived from System.Object, the primary base class for all objects. |
GetType (inherited from System.Object) |
See base class member description: System.Object.GetType Derived from System.Object, the primary base class for all objects. |
ToArray | Gets the array of prefix-namespace pairs in an XmlSerializerNamespaces object. |
ToString (inherited from System.Object) |
See base class member description: System.Object.ToString Derived from System.Object, the primary base class for all objects. |
Finalize (inherited from System.Object) |
See base class member description: System.Object.Finalize Derived from System.Object, the primary base class for all objects. |
MemberwiseClone (inherited from System.Object) |
See base class member description: System.Object.MemberwiseClone Derived from System.Object, the primary base class for all objects. |
Hierarchy:
public XmlSerializerNamespaces(); |
private void CreateBook(string filename) { try { // Create instance of XmlSerializerNamespaces and add the namespaces. XmlSerializerNamespaces myNameSpaces = new XmlSerializerNamespaces(); myNameSpaces.Add("BookName", "http://www.cpandl.com"); // Create instance of XmlSerializer and specify the type of object // to be serialized. XmlSerializer mySerializerObject = new XmlSerializer(typeof(MyBook)); TextWriter myWriter = new StreamWriter(filename); // Create object to be serialized. MyBook myXMLBook = new MyBook(); myXMLBook.Author = "XMLAuthor"; myXMLBook.BookName = "DIG THE XML"; myXMLBook.Description = "This is a XML Book"; MyPriceClass myBookPrice = new MyPriceClass(); myBookPrice.Price = (decimal) 45.89; myBookPrice.Units = "$"; myXMLBook.BookPrice = myBookPrice; // Serialize the object. mySerializerObject.Serialize(myWriter, myXMLBook,myNameSpaces); myWriter.Close(); } catch(Exception e) { Console.WriteLine("Exception :" + e.Message + "Occured"); } }
public XmlSerializerNamespaces( |
namespaces
public XmlSerializerNamespaces(XmlSerializerNamespaces( |
namespaces
private XmlSerializerNamespaces CreateFromQNames() { XmlQualifiedName q1 = new XmlQualifiedName("money", "http://www.cohowinery.com"); XmlQualifiedName q2 = new XmlQualifiedName("books", "http://www.cpandl.com"); XmlQualifiedName[] names = {q1, q2}; return new XmlSerializerNamespaces(names); }
public int Count {get;}
|
prefix
ns
Any namespaces that you add must conform to the www.w3.org specification Namespaces in XML.
private XmlSerializerNamespaces AddNamespaces() { XmlSerializerNamespaces xmlNamespaces = new XmlSerializerNamespaces(); // Add three prefix-namespace pairs. xmlNamespaces.Add("money", "http://www.cpandl.com"); xmlNamespaces.Add("books", "http://www.cohowinery.com"); xmlNamespaces.Add("software", "http://www.microsoft.com"); return xmlNamespaces; }
~XmlSerializerNamespaces(); |
public virtual int GetHashCode(); |
public Type GetType(); |
protected object MemberwiseClone(); |
public XmlQualifiedName[] ToArray(); |
private void PrintNamespacePairs(XmlSerializerNamespaces namespaces) { XmlQualifiedName[] qualifiedNames = namespaces.ToArray(); for(int i = 0; i < qualifiedNames.Length; i++) { Console.WriteLine ( qualifiedNames[i].Name + "\t" + qualifiedNames[i].Namespace ); } }
public virtual string ToString(); |