Как вставить текст при использовании XElement

Удалите следующую конфигурационную строку:

<property name="hibernate.globally_quoted_identifiers">true</property>

Это, вероятно, не требуется и почти наверняка вызывает проблему, которую вы испытываете.

UPDATE:

Проблема была окончательно решена путем изменения диалекта на MySQL5 из ​​общего MySQL:

org.hibernate.dialect.MySQL5Dialect
14
задан Eric 25 February 2009 в 20:38
поделиться

7 ответов

я не мог найти способ просто пихнуть необработанный текст через без него оставляемый.

Просто помещает символ Unicode в это & nbsp; относится к (U+00A0 ПРОСТРАНСТВО без повреждений) непосредственно в текстовом узле, затем позвольте сериализатору волноваться о том, нужен ли этому выход к & #160; или нет. (Вероятно, нет: если Вы используете UTF-8 или ISO-8859-1, поскольку Ваша страница, кодирующая символ, может быть включена непосредственно, не имея необходимость волноваться о кодировании его в ссылку на сущность или символьную ссылку).

new XElement("h1", "Text\u00A0to\u00A0keep\u00A0together");
14
ответ дан 1 December 2019 в 12:53
поделиться

Вы могли также попытаться использовать пронумерованные объекты, им не нужно никакое объявление. Пронумерованный объект, эквивалентный именованной сущности & nbsp; & #160;

1
ответ дан 1 December 2019 в 12:53
поделиться

В отличие от усилителя (&), лейтенант (<) и т.д. nbsp не является известным объектом к XML, таким образом, необходимо объявить это. В XML, например, &xyz; рассматривается как объект, синтаксический анализатор сошлется на свое значение для создания вывода.

// the xml, plz remove '.' within xml
string xml = "<xml>test&.n.b.s.p;test</xml>";

// declare nbsp as xml entity and its value is " " in this case.
string declareEntity = "<!DOCTYPE xml [<!ENTITY nbsp \" \">]>";

XElement x = XElement.Parse( declareEntity  + xml );
// output with a space between tests
// <xml>test test</xml>

или

 // plz remove '.' in the string 
 XElement.Parse("<xml>" + HttpUtility.HtmlEncode("Text&.n.b.s.p;keep everything") + "</xml>");
1
ответ дан 1 December 2019 в 12:53
поделиться
&amp;nbsp;
0
ответ дан 1 December 2019 в 12:53
поделиться

Я придумал этот немного ненормальный подход, который подходит мне: Строковая замена весь & с ##AMP##, когда Вы храните данные.... И инвертируйте ту операцию на выводе. Я использую это в сочетании со столбцом XElement SQL и работаю обработка.

Отношения

Neil

0
ответ дан 1 December 2019 в 12:53
поделиться

Замена & на маркер, например ## AMP ##, решила мою проблему. Может быть, не самое красивое решение, но я получил демонстрацию для клиента через 10 минут, так что ... мне все равно :)

Спасибо за идею

2
ответ дан 1 December 2019 в 12:53
поделиться

Я знаю, что это старо, но я кое-что нашел и очень удивлен!

XElement element = new XElement("name",new XCData("<br /> & etc"));

Ну вот! CDATA текст!

2
ответ дан 1 December 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: