Secondo questa domanda:LINQ to XML ignora le interruzioni di riga in attributi
Are line breaks in XML attribute values allowed?
interruzioni di riga negli attributi XML sono perfettamente validi (anche se forse non consigliata):
<xmltag1>
<xmltag2 attrib="line 1
line 2
line 3">
</xmltag2>
</xmltag1>
Quando sono parse tale XML che utilizza LINQ in XML (System.Xml.Linq
), tali interruzioni di riga vengono convertite automaticamente nello spazio ' '
caratteri.
C'è un modo per dire al parser XDocument.Load()
di conservare quelle interruzioni di riga?
P.S .: L'XML che sto analizzando è scritto da software di terze parti, quindi non posso modificare il modo in cui vengono scritte le interruzioni di riga.
Se si stanno scrivendo gli attributi in modo programmatico, guardare questo articolo che mostra diversi modi di sfuggire alla stringa.http: //weblogs.sqlteam.com/mladenp/archive/2008/10/21/Different-ways-how-to-escape- an-XML-string-in-C.aspx ricorda che non devono essere sfuggiti solo i linebreak. –