C# Sample : Simple All
Schema Summary This sample shows an element containing an 'all' group of simple elements. All the elements must appear, but in any order. Schema Details The Element 'Name' has 2 child elements FirstName and Surname, both are based on primitives, and thus both are represented as primitive in the generated code. Both elements must be specified, however in the XML they may appear in any order. Sample Description The sample demonstrates that the order that elements are held within an 'all' group does not make a difference when it is re-read. |
Sample XML File
Sample1.xml |
<?xml version="1.0" encoding="UTF-8"?> <Name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="..\Schema\SimpleAll.xsd"> <Surname>Bloggs</Surname> <Firstname>Joe</Firstname> </Name> |
Read Sample | |
string FilePath = MainCls.SamplePath + "SimpleAll\\Samples\\Sample1.xml"; // Create Name object SimpleAllLib.Name nm = new SimpleAllLib.Name(); // Load data into the object from a file nm.FromXmlFile(FilePath); // Now we can look at the data Console.WriteLine("Firstname = {0}", nm.Firstname); Console.WriteLine("Surname = {0}", nm.Surname);
|
Write Sample | |
// Create Name object SimpleAllLib.Name nm = new SimpleAllLib.Name(); // Now we can look at the data nm.Firstname = "Joe"; nm.Surname = "Bloggs"; // Now we can look at the XML from this object Console.WriteLine(nm.ToXml(true, System.Xml.Formatting.Indented, LiquidTechnologies.Runtime.EOLType.CRLF));
|
SimpleAll.xsd |
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Name"> <xs:complexType> <xs:all> <xs:element name="Firstname" type="xs:string"/> <xs:element name="Surname" type="xs:string"/> </xs:all> </xs:complexType> </xs:element> </xs:schema> |
Schema Diagrams |
|
Name.cs |
���using System; using System.Xml; /********************************************************************************************** * Copyright (c) 2001-2023 Liquid Technologies Limited. All rights reserved. * See www.liquid-technologies.com for product details. * * Please see products End User License Agreement for distribution permissions. * * WARNING: THIS FILE IS GENERATED * Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten * * Generation : by Liquid XML Data Binder 19.0.14.11049 * Using Schema: SimpleAll.xsd **********************************************************************************************/ namespace SimpleAllLib { /// <summary> /// This class represents the Element Name /// </summary> [LiquidTechnologies.Runtime.XmlObjectInfo(LiquidTechnologies.Runtime.XmlObjectBase.XmlElementGroupType.All, LiquidTechnologies.Runtime.XmlObjectBase.XmlElementType.Element, "Name", "", true, false, false)] public partial class Name : SimpleAllLib.XmlCommonBase { #region Constructors /// <summary> /// Constructor for Name /// </summary> /// <remarks> /// The class is created with all the mandatory fields populated with the /// default data. /// All Collection object are created. /// However any 1-n relationships (these are represented as collections) are /// empty. To comply with the schema these must be populated before the xml /// obtained from ToXml is valid against the schema SimpleAll.xsd /// </remarks> public Name() { _elementName = "Name"; Init(); } public Name(string elementName) { _elementName = elementName; Init(); } #endregion #region Initialization methods for the class /// <summary> /// Initializes the class /// </summary> /// <remarks> /// This creates all the mandatory fields (populated with the default data) /// All Collection object are created. /// However any 1-n relationships (these are represented as collections) are /// empty. To comply with the schema these must be populated before the xml /// obtained from ToXml is valid against the schema SimpleAll.xsd. /// </remarks> protected override void Init() { SimpleAllLib.Registration.iRegistrationIndicator = 0; // causes registration to take place m_Firstname = ""; m_Surname = ""; // ##HAND_CODED_BLOCK_START ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS // Add Additional initialization code here... // ##HAND_CODED_BLOCK_END ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS } #endregion #region ICloneable Interface /// <summary> /// Allows the class to be copied /// </summary> /// <remarks> /// Performs a 'deep copy' of all the data in the class (and its children) /// </remarks> public override object Clone() { SimpleAllLib.Name newObject = new SimpleAllLib.Name(_elementName); newObject.m_Firstname = m_Firstname; newObject.m_Surname = m_Surname; // ##HAND_CODED_BLOCK_START ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS // Add Additional clone code here... // ##HAND_CODED_BLOCK_END ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS return newObject; } #endregion #region Member variables protected override string TargetNamespace { get { return ""; } } #region Attribute - Firstname /// <summary> /// Represents a mandatory Element in the XML document /// </summary> /// <remarks> /// This property is represented as an Element in the XML. /// It is mandatory and therefore must be populated within the XML. /// It is defaulted to "". /// </remarks> [LiquidTechnologies.Runtime.ElementInfoAllPrimMnd("Firstname", "", null, LiquidTechnologies.Runtime.Conversions.ConversionType.type_string, null, LiquidTechnologies.Runtime.WhitespaceUtils.WhitespaceRule.Preserve, "", -1, -1, "", "", "", "", -1, -1, -1, null)] public string Firstname { get { return m_Firstname; } set { // Apply whitespace rules appropriately value = LiquidTechnologies.Runtime.WhitespaceUtils.Preserve(value); m_Firstname = value; } } protected string m_Firstname; #endregion #region Attribute - Surname /// <summary> /// Represents a mandatory Element in the XML document /// </summary> /// <remarks> /// This property is represented as an Element in the XML. /// It is mandatory and therefore must be populated within the XML. /// It is defaulted to "". /// </remarks> [LiquidTechnologies.Runtime.ElementInfoAllPrimMnd("Surname", "", null, LiquidTechnologies.Runtime.Conversions.ConversionType.type_string, null, LiquidTechnologies.Runtime.WhitespaceUtils.WhitespaceRule.Preserve, "", -1, -1, "", "", "", "", -1, -1, -1, null)] public string Surname { get { return m_Surname; } set { // Apply whitespace rules appropriately value = LiquidTechnologies.Runtime.WhitespaceUtils.Preserve(value); m_Surname = value; } } protected string m_Surname; #endregion #region Attribute - Namespace public override string Namespace { get { return ""; } } #endregion #region Attribute - GetBase public override LiquidTechnologies.Runtime.XmlObjectBase GetBase() { return this; } #endregion #endregion // ##HAND_CODED_BLOCK_START ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS // Add Additional Methods and members here... // ##HAND_CODED_BLOCK_END ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS } } |
Main Menu | Samples List |