Skip to content

Commit 890cd52

Browse files
committed
Adding XML code example for VerbatimContent ExtendedXmlSerializer#150.
1 parent aa6654c commit 890cd52

File tree

6 files changed

+38
-10
lines changed

6 files changed

+38
-10
lines changed

CodeProject.html

+11-3
Original file line numberDiff line numberDiff line change
@@ -622,15 +622,15 @@ <h2>Auto-Formatting (Attributes)</h2>
622622
&lt;SubjectWithThreeProperties xmlns=&quot;clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples&quot;&gt;
623623
&lt;Number&gt;123&lt;/Number&gt;
624624
&lt;Message&gt;Hello World!&lt;/Message&gt;
625-
&lt;Time&gt;2018-01-26T10:18:16.7813081-05:00&lt;/Time&gt;
625+
&lt;Time&gt;2018-01-26T10:25:47.6507293-05:00&lt;/Time&gt;
626626
&lt;/SubjectWithThreeProperties&gt;
627627
</pre>
628628

629629
<p>Making use of the <code>UseAutoFormatting</code> call will enable all types that have a registered <code>IConverter</code> (convert to string and back) to emit as attributes:</p>
630630

631631
<pre lang="xml">
632632
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
633-
&lt;SubjectWithThreeProperties Number=&quot;123&quot; Message=&quot;Hello World!&quot; Time=&quot;2018-01-26T10:18:16.7813081-05:00&quot; xmlns=&quot;clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples&quot; /&gt;
633+
&lt;SubjectWithThreeProperties Number=&quot;123&quot; Message=&quot;Hello World!&quot; Time=&quot;2018-01-26T10:25:47.6507293-05:00&quot; xmlns=&quot;clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples&quot; /&gt;
634634
</pre>
635635

636636
<h2>Verbatim Content (CDATA)</h2>
@@ -647,6 +647,14 @@ <h2>Verbatim Content (CDATA)</h2>
647647
// ...
648648
</pre>
649649

650+
651+
<pre lang="xml">
652+
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
653+
&lt;Subject xmlns=&quot;clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples&quot;&gt;
654+
&lt;Message&gt;&amp;lt;{&quot;Ilegal characters and such&quot;}&amp;gt;&lt;/Message&gt;
655+
&lt;/Subject&gt;
656+
</pre>
657+
650658
<p>You can also denote these fields with an attribute and get the same functionality:</p>
651659

652660
<pre lang="cs">
@@ -726,7 +734,7 @@ <h2>Parameterized Members and Content</h2>
726734
&lt;ParameterizedSubject xmlns=&quot;clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples&quot;&gt;
727735
&lt;Message&gt;Hello World!&lt;/Message&gt;
728736
&lt;Number&gt;123&lt;/Number&gt;
729-
&lt;Time&gt;2018-01-26T10:18:16.9318559-05:00&lt;/Time&gt;
737+
&lt;Time&gt;2018-01-26T10:25:47.8844816-05:00&lt;/Time&gt;
730738
&lt;/ParameterizedSubject&gt;
731739
</pre>
732740

docGenerator/ExtendedXmlSerializer.DocGenerator/Program.cs

+2
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ static void Main(string[] args)
180180
doc.Add("If you have an element with a member that can hold lots of data, or data that has illegal characters, you configure it to be a verbatim field and it will emit a CDATA section around it:");
181181
doc.AddCode(@"..\..\..\..\samples\ExtendedXmlSerializer.Samples\Extensibility\VerbatimContent.cs", "Example");
182182

183+
doc.AddCode(@"..\..\..\..\samples\ExtendedXmlSerializer.Samples\bin\Extensibility.VerbatimContent.xml", CodeFormat.Xml);
184+
183185
doc.Add("You can also denote these fields with an attribute and get the same functionality:");
184186
doc.AddCode(@"..\..\..\..\samples\ExtendedXmlSerializer.Samples\Extensibility\VerbatimContent.cs", "Subject");
185187

docs/get-started/index.rst

+11-3
Original file line numberDiff line numberDiff line change
@@ -633,15 +633,15 @@ The default behavior for emitting data in an Xml document is to use elements, wh
633633
<SubjectWithThreeProperties xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples">
634634
<Number>123</Number>
635635
<Message>Hello World!</Message>
636-
<Time>2018-01-26T10:18:16.7813081-05:00</Time>
636+
<Time>2018-01-26T10:25:47.6507293-05:00</Time>
637637
</SubjectWithThreeProperties>
638638

639639
Making use of the `UseAutoFormatting` call will enable all types that have a registered `IConverter` (convert to string and back) to emit as attributes:
640640

641641
.. sourcecode:: xml
642642

643643
<?xml version="1.0" encoding="utf-8"?>
644-
<SubjectWithThreeProperties Number="123" Message="Hello World!" Time="2018-01-26T10:18:16.7813081-05:00" xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples" />
644+
<SubjectWithThreeProperties Number="123" Message="Hello World!" Time="2018-01-26T10:25:47.6507293-05:00" xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples" />
645645

646646
Verbatim Content (CDATA)
647647
========================
@@ -658,6 +658,14 @@ If you have an element with a member that can hold lots of data, or data that ha
658658
var contents = serializer.Serialize(subject);
659659
// ...
660660

661+
662+
.. sourcecode:: xml
663+
664+
<?xml version="1.0" encoding="utf-8"?>
665+
<Subject xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples">
666+
<Message>&lt;{"Ilegal characters and such"}&gt;</Message>
667+
</Subject>
668+
661669
You can also denote these fields with an attribute and get the same functionality:
662670

663671
.. sourcecode:: csharp
@@ -740,7 +748,7 @@ Taking this concept bit further leads to a favorite feature of ours in `Extended
740748
<ParameterizedSubject xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples">
741749
<Message>Hello World!</Message>
742750
<Number>123</Number>
743-
<Time>2018-01-26T10:18:16.9318559-05:00</Time>
751+
<Time>2018-01-26T10:25:47.8844816-05:00</Time>
744752
</ParameterizedSubject>
745753

746754
Tuples

readme.rst

+11-3
Original file line numberDiff line numberDiff line change
@@ -646,15 +646,15 @@ The default behavior for emitting data in an Xml document is to use elements, wh
646646
<SubjectWithThreeProperties xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples">
647647
<Number>123</Number>
648648
<Message>Hello World!</Message>
649-
<Time>2018-01-26T10:18:16.7813081-05:00</Time>
649+
<Time>2018-01-26T10:25:47.6507293-05:00</Time>
650650
</SubjectWithThreeProperties>
651651

652652
Making use of the `UseAutoFormatting` call will enable all types that have a registered `IConverter` (convert to string and back) to emit as attributes:
653653

654654
.. sourcecode:: xml
655655

656656
<?xml version="1.0" encoding="utf-8"?>
657-
<SubjectWithThreeProperties Number="123" Message="Hello World!" Time="2018-01-26T10:18:16.7813081-05:00" xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples" />
657+
<SubjectWithThreeProperties Number="123" Message="Hello World!" Time="2018-01-26T10:25:47.6507293-05:00" xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples" />
658658

659659
Verbatim Content (CDATA)
660660
========================
@@ -671,6 +671,14 @@ If you have an element with a member that can hold lots of data, or data that ha
671671
var contents = serializer.Serialize(subject);
672672
// ...
673673

674+
675+
.. sourcecode:: xml
676+
677+
<?xml version="1.0" encoding="utf-8"?>
678+
<Subject xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples">
679+
<Message>&lt;{"Ilegal characters and such"}&gt;</Message>
680+
</Subject>
681+
674682
You can also denote these fields with an attribute and get the same functionality:
675683

676684
.. sourcecode:: csharp
@@ -753,7 +761,7 @@ Taking this concept bit further leads to a favorite feature of ours in `Extended
753761
<ParameterizedSubject xmlns="clr-namespace:ExtendedXmlSerializer.Samples.Extensibility;assembly=ExtendedXmlSerializer.Samples">
754762
<Message>Hello World!</Message>
755763
<Number>123</Number>
756-
<Time>2018-01-26T10:18:16.9318559-05:00</Time>
764+
<Time>2018-01-26T10:25:47.8844816-05:00</Time>
757765
</ParameterizedSubject>
758766

759767
Tuples

samples/ExtendedXmlSerializer.Samples/Extensibility/VerbatimContent.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using ExtendedXmlSerializer.ContentModel.Content;
55
using ExtendedXmlSerializer.Core;
66
using ExtendedXmlSerializer.ExtensionModel.Xml;
7+
// ReSharper disable UnusedVariable
78

89
namespace ExtendedXmlSerializer.Samples.Extensibility
910
{
@@ -27,7 +28,7 @@ public void Execute(object parameter)
2728

2829
var @default = new ConfigurationContainer().Create()
2930
.Serialize(new XmlWriterSettings {Indent = true}, subject);
30-
File.WriteAllText(@"bin\Extensibility.VerbatimContent.Default.xml", @default);
31+
File.WriteAllText(@"bin\Extensibility.VerbatimContent.xml", @default);
3132
}
3233
}
3334

samples/ExtendedXmlSerializer.Samples/Program.cs

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ public static void Main(string[] args)
5959
AttachedProperties.Default.Execute(null);
6060
MarkupExtensions.Default.Execute(null);
6161
Example.Default.Execute(null);
62+
VerbatimContent.Default.Execute(null);
6263

6364
SimpleSamples.Run();
6465
DictianarySamples.Run();

0 commit comments

Comments
 (0)