|
|
|
Вставка текста со спецсимволами в Node (XML)
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Имеется XML-документ в представлении DOM (объект типа Document) Нужно : в заданный узел Node вставить фрагмент, также содержащий тэги. При использовании Node.setNodeValue("текст") спецсимволы из "текст" при последующем сохранении в файл преобразуются в Escape-последовательности, что нежелательно. Т.е. сейчас setNodeValue("<тег>текст</тег>") приводит к вставке с заменой <> на Escape-символы, а нужно чтобы вставлялось как есть, т.е. образовывался полноценный вложенный по отношению к Node тег. Парсить вставляемый фрагмент тоже в DOM и приаттачивать в качестве дочерних нод не устраивает, есть ли альтернатива ? Заранее спасибо за подсказки ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 18:42:59 |
|
||
|
Вставка текста со спецсимволами в Node (XML)
|
|||
|---|---|---|---|
|
#18+
Элементарно - пользоваться CDATA. Код: plaintext 1. 2. 3. 4. [SRC xml] ... <element> <![CDATA[<tag>text</tag>]]> </element> ... [/SRC] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 19:22:19 |
|
||
|
Вставка текста со спецсимволами в Node (XML)
|
|||
|---|---|---|---|
|
#18+
Спасибо, но мне в результате нужно не <element> <![CDATA[<tag>text</tag>]]> </element> а <element> <tag>text</tag> </element> причём хотелось бы обойтись без парсинга <tag>text</tag> . P.S. В появлении новых нод в DOM нет необходимости, достаточно того что получится после выгрузки в фай/стрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 19:35:27 |
|
||
|
Вставка текста со спецсимволами в Node (XML)
|
|||
|---|---|---|---|
|
#18+
Придется все-таки парсить <tag>text</tag>, так как это и есть новая нода в XML-е хотите ли вы этого или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 20:22:33 |
|
||
|
Вставка текста со спецсимволами в Node (XML)
|
|||
|---|---|---|---|
|
#18+
max_from_sumyПридется все-таки парсить <tag>text</tag>, так как это и есть новая нода в XML-е хотите ли вы этого или нет Проблема в том что вставляемый фрагмент может быть как с тегами так и простой текст. Заранее это неизвестно. И если на все такие фрагменты накидывать парсер c целью получения из них ноды, для тех которые не являются XML выдаётся исключение. Например такое : [Fatal Error] :1:1: Content is not allowed in prolog. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 13:54:46 |
|
||
|
Вставка текста со спецсимволами в Node (XML)
|
|||
|---|---|---|---|
|
#18+
Cro max_from_sumyПридется все-таки парсить <tag>text</tag>, так как это и есть новая нода в XML-е хотите ли вы этого или нет Проблема в том что вставляемый фрагмент может быть как с тегами так и простой текст. Заранее это неизвестно. И если на все такие фрагменты накидывать парсер c целью получения из них ноды, для тех которые не являются XML выдаётся исключение. Например такое : [Fatal Error] :1:1: Content is not allowed in prolog. Либо предварительно анализировать является ли текст валидным xml-фрагментом, либо искуственно оборачивать этот текст тегом, парсить и выдирать из получившегося DOM все содержимое добавленного корневого тега для вставки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 11:40:01 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34275176&tid=2146852]: |
0ms |
get settings: |
21ms |
get forum list: |
30ms |
check forum access: |
9ms |
check topic access: |
9ms |
track hit: |
82ms |
get topic data: |
19ms |
get forum data: |
6ms |
get page messages: |
96ms |
get tp. blocked users: |
4ms |
| others: | 335ms |
| total: | 611ms |

| 0 / 0 |
