VB.Net Sample : Simple All
In This Topic
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>
|
Sample Code
Read Sample |
|
Dim FilePath As String = Module1.SamplePath + "SimpleAll\\Samples\\Sample1.xml"
' Create Name object
Dim nm As SimpleAllLib.Name = 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)
Output
Firstname = Joe
Surname = Bloggs
|
|
Write Sample |
|
' Create Name object
Dim nm As SimpleAllLib.Name = 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))
Output
<?xml version="1.0"?>
<!--Created by Liquid XML Data Binding Libraries (www.liquid-technologies.com) for Liquid Technologies Ltd -->
<Name xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<Firstname>Joe</Firstname>
<Surname>Bloggs</Surname>
</Name>
|
|
XSD Source Files
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 |
|
|
Generated Files
Name.vb |
|
Option Explicit On
Option Strict On
Imports System
Imports System.Xml
'**********************************************************************************************
'* Copyright (c) 2001-2025 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
Inherits 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 Sub New()
_elementName = "Name"
Init()
End Sub
Public Sub New(ByVal elementName As String)
_elementName = elementName
Init()
End Sub
#End Region
#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 Overrides Sub Init()
SimpleAllLib.Registration.iRegistrationIndicator = 0 ' causes registration to take place
_Firstname = ""
_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
End Sub
#End Region
#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 Overrides Function Clone() As Object
Dim newObject As New SimpleAllLib.Name(_elementName)
Dim o As Object
newObject._Firstname = _Firstname
newObject._Surname = _Surname
o = Nothing
' ##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
End Function
#End Region
#Region "Member variables"
Protected Overrides Readonly Property TargetNamespace() As String
Get
Return ""
End Get
End Property
#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", "", Nothing, LiquidTechnologies.Runtime.Conversions.ConversionType.type_string, Nothing, LiquidTechnologies.Runtime.WhitespaceUtils.WhitespaceRule.Preserve, "", -1, -1, "", "", "", "", -1, -1, -1, Nothing)> _
Public Property Firstname() As String
Get
Return _Firstname
End Get
Set(ByVal value As String)
' Apply whitespace rules appropriately
value = LiquidTechnologies.Runtime.WhitespaceUtils.Preserve(value)
_Firstname = value
End Set
End Property
Protected _Firstname As String
#End Region
#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", "", Nothing, LiquidTechnologies.Runtime.Conversions.ConversionType.type_string, Nothing, LiquidTechnologies.Runtime.WhitespaceUtils.WhitespaceRule.Preserve, "", -1, -1, "", "", "", "", -1, -1, -1, Nothing)> _
Public Property Surname() As String
Get
Return _Surname
End Get
Set(ByVal value As String)
' Apply whitespace rules appropriately
value = LiquidTechnologies.Runtime.WhitespaceUtils.Preserve(value)
_Surname = value
End Set
End Property
Protected _Surname As String
#End Region
#Region "Attribute - Namespace"
Public Overrides Readonly Property [Namespace]() As String
Get
Return ""
End Get
End Property
#End Region
#Region "Attribute - GetBase"
Public Overrides Function GetBase() As LiquidTechnologies.Runtime.XmlObjectBase
Return Me
End Function
#End Region
#End Region
' ##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
End Class
End Namespace
|