XML 字符串元素,在值文本中包含 XML 个标记

XML string element that contains XML tags within the value text

我想要一个包含以下内容的字符串元素:

<UmlMessage>"@MainApp -> ControlThread : <font color=red><b>NET_SET_REQ</b>"</UmlMessage>

因此元素 UmlMessage 值将是:"@MainApp -> ControlThread : <font color=red><b>NET_SET_REQ</b>"

我添加了引号,但没有帮助。我收到一个奇怪的错误:

XMLSyntaxError: AttValue: " or ' expected, line 25, column 54

我认为这与在值中包含类似 XML 的标签有关。但我希望将标签之间的内容解析为字符串文字...这可能吗?

如果字符串内容包含 "problematic" 个字符,则将其包装在 CDATA 元素中:

<UmlMessage><![CDATA["@MainApp -> ControlThread : <font color=red><b>NET_SET_REQ</b>"]]></UmlMessage>

选项 1,假设您真的不需要用双引号将整个消息括起来,并且您不介意 UmlMessage 的内容被解析为XML:

<UmlMessage>@MainApp -> ControlThread : <font color="red"><b>NET_SET_REQ</b></font></UmlMessage>

选项 2,同上,但在消息周围用双引号引起来:

<UmlMessage>"@MainApp -> ControlThread : <font color='red'><b>NET_SET_REQ</b></font>"</UmlMessage>

选项3,如果不希望UmlMessage的内容被解析为XML,不管是否需要周围的引号:

<UmlMessage><![CDATA["@MainApp -> ControlThread : <font color=red><b>NET_SET_REQ</b></font>"]]></UmlMessage>

顺便说一句,即使浏览器可以容忍属性值周围缺少定界符 (color=red),我仍然建议使用它们,以便您的标记格式正确 XML。同样,我特别建议明确关闭 font 元素,并且在上面的示例中已经为您这样做了。