XML解析:结束标记与开始标记不匹配

时间:2020-07-15 02:34:36

标签: xml

我有一个xml。该值来自用户输入。

<Item id="36">
    <name>Electrical and lighting - Exterior lighting</name>
    <note><123comments></note>
    <info id="code">&*&^<samp&*></info>
</Item>

保存xml时,出现错误“ XML解析:第14行,字符1868,结束标记与起始标记不匹配”

如何在不替换其他<或>的情况下转换节点内的值?

  • 在c#或js中

2 个答案:

答案 0 :(得分:0)

我希望这对您有用。

问题出在info和note标记内,值不能有<或>,因此您应尝试对该标记的值进行编码。

答案 1 :(得分:0)

在这里,您的XML已更正为well-formed

<Item id="36">
    <name>Electrical and lighting - Exterior lighting</name>
    <note>&lt;123comments></note>
    <info id="code">&amp;*&amp;^&lt;samp&amp;*></info>
</Item>

注释:

  • <必须以&lt;的形式转义,除非它以标签开头。
  • 除非它是实体,否则
  • &必须以&amp;的形式转义。

有关必须在XML中转义哪些字符的更多详细信息,请参见Simplified XML Escaping