2010-11-18 31 views
4

XElement ile garip bir davranışım var. Değer özelliği, \ n \ ifadesi gibi yeni ifadeye \ n \ yeni satır ifadesini değiştirir gibi görünüyor \ n. Neden?Neden XElement Değeri özelliği r n n?

string valueString = "abc\r\ndef"; 
string xmlString = "<desc>abc\r\ndef</desc>"; 
XElement xElement = XElement.Parse(xmlString); 

string toString = xElement.ToString(); //as expected same value as xmlString 
string xElementValue = xElement.Value; //contains abc\ndef instead of abc\r\ndef 

Teşekkürler!

cevap

1

Tasarımla ilgili olduğuna inanıyorum - XML, Windows CR + LF olarak değil, LF olarak yeni satırı depolar.

Bu konuda düşünürseniz, XML'in xml:space="preserve" olmadığı sürece beyaz karakterleri koruduğu ilkesiyle tutarlıdır. Bunu düğüm özniteliği olarak eklemeyi ve ne alacağınızı görmeyi deneyin.

+0

Doğru, xml: http://www.w3schools.com/Xml/xml_syntax.asp adresindeki tasarım gereğidir. Ayrıca LoadOptions.PreserveWhitespace'i Parse yöntemiyle kullanmayı denedim, ancak aynı davranışı alıyorum. Çok teşekkürler! – pcius

+0

da, XML içerisine abc \ r \ ndef ve yardımcı olup olmadığına bakın. – veljkoz

İlgili konular