Zgodnie z tym pytanie:LINQ to XML ignoruje podziały wiersza w atrybutach
Are line breaks in XML attribute values allowed?
Linia wybucha w atrybutach XML są doskonale ważny (choć może nie zalecane):
<xmltag1>
<xmltag2 attrib="line 1
line 2
line 3">
</xmltag2>
</xmltag1>
Kiedy analizowania taki XML używający LINQ do XML (System.Xml.Linq
), te linie podziału są przekształcane w trybie cichym na znaki spacji ' '
.
Czy istnieje sposób, aby powiedzieć parserowi XDocument.Load()
, aby zachować te linie podziału?
P.S .: Plik XML, który parsuję, jest zapisywany przez oprogramowanie innej firmy, więc nie mogę zmienić sposobu zapisywania linii.
Jeśli piszesz atrybuty programowo, spójrz na ten artykuł, który pokazuje różne sposoby unikania ciągu znaków.http: //weblogs.sqlteam.com/mladenp/archive/2008/10/21/Different-ways-how-to-escape- An-XML-string-in-C.aspx pamiętać, że nie tylko trzeba łamać linie. –