I have a rich text in SL application. I want to get plain text, so I convert richtext with format to xml, then try to get rid of all format markup. It is okay when I run the app with SL4. but not woking for SL 5.
Here is the rich format data:
<Section xml:space="preserve" HasTrailingParagraphBreakOnPaste="False" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Paragraph FontSize="20" FontFamily="Calibri" Foreground="#FF000000" FontWeight="Normal" FontStyle="Normal" FontStretch="Normal" CharacterSpacing="0" Typography.AnnotationAlternates="0" Typography.EastAsianExpertForms="False" Typography.EastAsianLanguage="Normal" Typography.EastAsianWidths="Normal" Typography.StandardLigatures="True" Typography.ContextualLigatures="True" Typography.DiscretionaryLigatures="False" Typography.HistoricalLigatures="False" Typography.StandardSwashes="0" Typography.ContextualSwashes="0" Typography.ContextualAlternates="True" Typography.StylisticAlternates="0" Typography.StylisticSet1="False" Typography.StylisticSet2="False" Typography.StylisticSet3="False" Typography.StylisticSet4="False" Typography.StylisticSet5="False" Typography.StylisticSet6="False" Typography.StylisticSet7="False" Typography.StylisticSet8="False" Typography.StylisticSet9="False" Typography.StylisticSet10="False" Typography.StylisticSet11="False" Typography.StylisticSet12="False" Typography.StylisticSet13="False" Typography.StylisticSet14="False" Typography.StylisticSet15="False" Typography.StylisticSet16="False" Typography.StylisticSet17="False" Typography.StylisticSet18="False" Typography.StylisticSet19="False" Typography.StylisticSet20="False" Typography.Capitals="Normal" Typography.CapitalSpacing="False" Typography.Kerning="True" Typography.CaseSensitiveForms="False" Typography.HistoricalForms="False" Typography.Fraction="Normal" Typography.NumeralStyle="Normal" Typography.NumeralAlignment="Normal" Typography.SlashedZero="False" Typography.MathematicalGreek="False" Typography.Variants="Normal" TextOptions.TextHintingMode="Fixed" TextOptions.TextFormattingMode="Ideal" TextOptions.TextRenderingMode="Auto" TextAlignment="Left" LineHeight="0" LineStackingStrategy="MaxHeight">
<Run FontSize="20" FontFamily="Calibri" Foreground="#FFFF0000" FontWeight="Normal" FontStyle="Normal" FontStretch="Normal">Hello ddd </Run>
</Paragraph>
</Section>
I use this code to remove markup(value is above input data):
XDocument xmlRichText = XDocument.Parse(value.ToString());
var q = from c in xmlRichText.Descendants(xamlPresentationNamespace + "Run")
select (string)c.Attribute("Text");
foreach (string text in q)
result += text + " ";
How to make it working for both SL 4 and SL5?
I don’t see any attribute named “Text”. If you need the Value “Hello ddd ” you can do this:
This works in LINQPad, but I haven’t tested in SL4 or SL5.