UPDATE: Добавлены более подробно на каждый запросВключите XML CDATA в элементе
Я пытаюсь создать файл конфигурации XML для моего приложения. Файл содержит список критериев поиска и замены в html-документе. Проблема в том, что мне нужно искать строки символов, такие как  
. Я не хочу, чтобы мой код читал декодированный элемент, но сам текст.
Признавая себя очень новым в XML, я сделал некоторые попытки удовлетворить требования. Я прочитал загрузку ссылок здесь на Stackoverflow относительно CDATA
и ATTRIBUTES
и т. Д., Но примеры здесь (и в других местах), похоже, сосредоточены на создании одной отдельной строки в XML-файле, а не нескольких.
Вот одна из многих попыток я сделал без толку:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE item [
<!ELEMENT item (id, replacewith)>
<!ELEMENT id (#CDATA)>
<!ELEMENT replacewith (#CDATA)>
]>
]>
<item id=" " replacewith=" ">Non breaking space</item>
<item id="‑" replacewith="-">Non breaking hyphen</item>
Этот документ дает мне ряд ошибок, в том числе:
- В DOCTYPE, я получаю сообщение об ошибке, как
<!ELEMENT id (#CDATA)>
, В области CDATA Visual Studio сообщает мне, что ожидает «,» или «|». ]>
дает мне ошибкуinvalid token at the root of the document
.- И, конечно же, после второй записи
<item
, я получаю сообщение об ошибкеXML document cannot contain multiple root level elements
.
Как я могу написать файл XML, который включает в себя несколько элементов и позволяет мне сохранять и извлекать текст внутри элемента, а не интерпретированных символов?
Если это помогает, я использую .Net, C# и Visual Studio.
EDIT: Цель этого XML-файла, чтобы обеспечить свой код со списком вещей для поиска и замены в HTML-файл. Файл xml просто содержит список what to search for
и what to replace with
.
Вот файл я имею в месте прямо сейчас:
<?xml version="1.0" encoding="utf-8" ?>
<Items>
<item id="‑" replacewith="-">Non breaking hyphen</item>
<item id=" " replacewith=" ">Non breaking hyphen</item>
</Items>
Используя первый в качестве примера, я хочу, чтобы читать текст ‑
, но вместо того, чтобы, когда я прочитал это, я получаю -
, потому что это то, что код представляет.
Любая помощь или указатели, которые вы можете дать, были бы полезными.
Непонятно, чего вы пытаетесь достичь. Образец * действительного * XML, который вы хотите увидеть, поможет. Если вы пытаетесь читать/писать XML с помощью строковых манипуляций/регулярных выражений - прекратите это делать (или, по крайней мере, не спрашивайте об этом на SO). –
Я обновил описание более подробно и XML-файл, который я использую. В основном, я пытаюсь скомпилировать список строк, которые я хочу найти и заменить в html-файле. Эти строки настраиваются пользователем, поэтому я решил, что сохраню их в файле конфигурации xml. Я в основном хочу прочитать текст, содержащийся в атрибуте, как сырую строку, а не расшифрованную строку. – Bill
Если вы хотите текст, закодируйте его. Например, NBSP будет «& nbsp;' –