2016-11-24 5 views
1

Я относительно новичок в программировании, но с помощью Google я хорошо лажу.Delphi Создание файла XML

Мне нужна помощь с программой, которую я пишу, и у меня есть небольшая проблема с кодировкой. Он делает все, что я хочу, кроме того, что не могу выработать 1 часть.

То, что я пытаюсь достичь является XML-файл со строкой, которая выглядит как:

<Entry Line=' Play &quot;Mains_Fail&quot;' /> 

Однако код, я использую в Delphi:

Parameter.AddChild('Entry').Attributes['line'] := ' Play "Mains_Fail" '; 

Выдает следующую строку в XML :

<Entry Line=" Play &quot;Mains_Fail&quot;" /> 

Это не работает в системе, читая файл, поскольку мне нужен апостроф в e Выход XML не кавычки.

С каким кодом я могу изготовить апостроф?

ответ

0
<Entry Line=" Play &quot;Mains_Fail&quot;" /> 

Это совершенно правильно, и семантически идентичны

<Entry Line=' Play "Mains_Fail"' /> 

или

<Entry Line=' Play &quot;Mains_Fail&quot;' /> 

Значения атрибутов цитируются, либо одиночные или двойные кавычки. Если вы используете одинарные кавычки, то любые символы кавычек в значении должны быть экранированы, с &apos;. Если вы используете двойные кавычки, то любые символы двойной кавычки в значении должны быть экранированы, с &quot;.

Суть в том, что вы создаете XML, и любой синтаксический анализатор XML будет одинаково читать все три вышеуказанных фрагмента. Если у вас есть система, которая не будет читать один из этих фрагментов, вы должны заменить синтаксический анализатор фактическим синтаксическим анализатором XML.