XmlText - запись текста "как есть"
От: x64 Россия http://x64blog.name
Дата: 04.11.10 17:36
Оценка:
Привет.

Создаём элемент типа XmlText со значением, например, "&". После вызова XmlDocument.WriteContentTo() этот символ заменяется на "&amp". Мне этого не нужно, хочу писать текст "как есть", что бы там ни было. Как этого добиться?

Спасибо.
JID: x64j@jabber.ru
Re: XmlText - запись текста "как есть"
От: adontz Грузия http://adontz.wordpress.com/
Дата: 04.11.10 17:38
Оценка:
Здравствуйте, x64, Вы писали:

Используй CDATA
http://www.w3schools.com/xml/xml_cdata.asp
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: XmlText - запись текста "как есть"
От: x64 Россия http://x64blog.name
Дата: 04.11.10 17:43
Оценка: :)
A>Используй CDATA

К сожалению, это не то немного, потому что в результирующем потоке получается примерно такое:

<![CDATA[ ]]>


Я, дело в том, что HTML пишу через XML, поэтому лишние XML-теги недопустимы. Ещё варианты?
JID: x64j@jabber.ru
Re[3]: XmlText - запись текста "как есть"
От: adontz Грузия http://adontz.wordpress.com/
Дата: 04.11.10 17:45
Оценка:
Здравствуйте, x64, Вы писали:

x64>Я, дело в том, что HTML пишу через XML, поэтому лишние XML-теги недопустимы. Ещё варианты?


Последовательность [пробел] & [пробел] не является корректным XML или HTML кодом. В чём вообще проблема писать &amp; в частности и использовать entities вообще?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: XmlText - запись текста "как есть"
От: _FRED_ Черногория
Дата: 04.11.10 17:53
Оценка:
Здравствуйте, x64, Вы писали:

x64>Создаём элемент типа XmlText со значением, например, "&". После вызова XmlDocument.WriteContentTo() этот символ заменяется на "&amp". Мне этого не нужно, хочу писать текст "как есть", что бы там ни было. Как этого добиться?


Тогда это уже не будет xml. Странно пытаться писать не xml средствами, предназначенными для писания xml. Для писания не xml лучше использовать что-то менее преспособленное для xml.
Help will always be given at Hogwarts to those who ask for it.
Re[4]: XmlText - запись текста "как есть"
От: x64 Россия http://x64blog.name
Дата: 04.11.10 17:59
Оценка:
A>Последовательность [пробел] & [пробел] не является корректным XML или HTML кодом. В чём вообще проблема писать &amp; в частности и использовать entities вообще?

Короче, объясняю. Как известно, по-умолчанию, пробелы в HTML игнорируются. Чтобы сделать их значимыми, используется &nbps. Так вот, если в XmlText запихать "&nbps", то оно в итоге будет заменено на "&ampnbps", чего мне совсем не надо. Теперь понятно? Это вообще возможно избавиться от таких замен?
JID: x64j@jabber.ru
Re[5]: XmlText - запись текста "как есть"
От: adontz Грузия http://adontz.wordpress.com/
Дата: 04.11.10 18:02
Оценка: +3
Здравствуйте, x64, Вы писали:

x64>Короче, объясняю. Как известно, по-умолчанию, пробелы в HTML игнорируются. Чтобы сделать их значимыми, используется &nbps. Так вот, если в XmlText запихать "&nbps", то оно в итоге будет заменено на "&ampnbps", чего мне совсем не надо. Теперь понятно? Это вообще возможно избавиться от таких замен?


Видимо, тебе нужен XmlEntityReference. Распарсь простейший XML содержащий &nbsp; и посмотри какой DOM получается.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: XmlText - запись текста "как есть"
От: Lloyd Россия  
Дата: 04.11.10 18:06
Оценка: 10 (1)
Здравствуйте, x64, Вы писали:

x64>Чтобы сделать их значимыми, используется &nbps. Так вот, если в XmlText запихать "&nbps", то оно в итоге будет заменено на "&ampnbps", чего мне совсем не надо. Теперь понятно? Это вообще возможно избавиться от таких замен?



var doc = new XmlDocument();
XmlElement elem = doc.CreateElement("root");
doc.AppendChild(elem);
elem.AppendChild(doc.CreateEntityReference("nbsp"));

Console.WriteLine(doc.OuterXml);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.