OVSXmlSerializer 1.0.1-beta-4
See the version list below for details.
dotnet add package OVSXmlSerializer --version 1.0.1-beta-4
NuGet\Install-Package OVSXmlSerializer -Version 1.0.1-beta-4
<PackageReference Include="OVSXmlSerializer" Version="1.0.1-beta-4" />
paket add OVSXmlSerializer --version 1.0.1-beta-4
#r "nuget: OVSXmlSerializer, 1.0.1-beta-4"
// Install OVSXmlSerializer as a Cake Addin #addin nuget:?package=OVSXmlSerializer&version=1.0.1-beta-4&prerelease // Install OVSXmlSerializer as a Cake Tool #tool nuget:?package=OVSXmlSerializer&version=1.0.1-beta-4&prerelease
Odd's Very Special Xml Serializer
..Or OVSXmlSerializer for short.
This is a specialized Xml Serializer that is mainly designed with use in B1NARY, a visual novel about porn on the internet or whatever idfk not important. This is used as a way to encapsulate and update the module over time when needed, typically as dll file or using the Nuget system.
The system itself works very similar to how the XML serializer works normally,
but is meant to be worked with the object
or more 'undefined' data that the
ordinary XML serializer have difficulty handling. You can turn this off for more
traditional formatting with the config class, but it does reveal the issue once
again. It also breaks completely since its not implemented yet
The wiki serves as Documentation, and this will be reserved on how to use the tool.
Explicit Types
The unique function of this XML serializer over others is its explicit type
handling. What this does is that it allows it to reserve its derived types when
considering base types, down to the level of object
. This feature can be turned
on or off.
This feature is enabled by default, but creating XmlSerializerConfig
, this can
be turned off. It will also implicitly convert System.Xml.XmlWriterSettings
to
the config to ensure smooth transtion between systems.
Serializing
Like the default system XML serializer, they pose the same requirements such as:
- Requiring to have a public or private parameterless constructor.
- Having all fields follow the same constraint as above.
There are two serializers, the generic and the non-generic. The non-generic derives from the generic as object for performance reasons, and is created as instances due to configurations.
The method returns a MemoryStream
, a stream that can be used for overriding specific
file systems as such, but can be converted to a string if needed by other systems.
The system provides its own interface called IXmlSerializable
, which is not
the same as the traditional system. Luckily, instead of using XmlReader
, it uses
a XmlNode
instead. XmlWriter
is here to stay, though.
Deserializing
Requires the stream or XML file to retrieve the object mentioned by the XML.
Attributes
Here are a few attributes that this supports from System.Xml.Serialization
[XmlIgnore]
Ignores the field completely
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
4.0.0 | 62 | 7/10/2024 |
4.0.0-pre2 | 66 | 6/14/2024 |
4.0.0-pre1 | 56 | 6/14/2024 |
3.0.2 | 155 | 9/27/2023 |
3.0.1 | 114 | 9/25/2023 |
3.0.0 | 123 | 9/23/2023 |
3.0.0-pre2 | 91 | 9/21/2023 |
3.0.0-pre1 | 95 | 9/20/2023 |
2.0.4 | 155 | 5/4/2023 |
2.0.3 | 174 | 4/15/2023 |
2.0.2 | 163 | 4/11/2023 |
2.0.1 | 193 | 4/6/2023 |
2.0.0 | 176 | 4/6/2023 |
1.1.5 | 225 | 3/24/2023 |
1.1.4 | 219 | 3/12/2023 |
1.1.3 | 237 | 3/8/2023 |
1.1.2 | 215 | 3/5/2023 |
1.1.1 | 217 | 3/2/2023 |
1.1.0 | 221 | 2/28/2023 |
1.0.2 | 233 | 2/27/2023 |
1.0.1 | 231 | 2/26/2023 |
1.0.1-beta-5 | 129 | 2/25/2023 |
1.0.1-beta-4 | 125 | 2/25/2023 |
1.0.1-beta-3 | 116 | 2/23/2023 |
1.0.1-beta-2 | 132 | 2/21/2023 |
1.0.1-beta | 206 | 2/20/2023 |
1.0.0-beta | 188 | 2/20/2023 |
- Added a custom, but unfortunately not the same IXmlSerializer;; and Added a bit more XML documentation