【问题标题】:XML not opening in XML EditorXML 未在 XML 编辑器中打开
【发布时间】:2014-11-05 20:08:39
【问题描述】:

创建的 XML 无法在浏览器中打开并引发错误。

我的 xml:

  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <newsitem>
<contentmeta>
<contentCreated>05/11/2014</contentCreated>
<contentModified>05/11/2014</contentModified>
 <classification1>*NULL*</classification1>
  <classification2>*NULL*</classification2>
  <geolocation1>*NULL*</geolocation1>
 <geolocation2>*NULL*</geolocation2>
<title>1</title>
 <headline>2</headline>
<subtitle>3</subtitle>
 <dateline>4</dateline>
  <bodytext>5 4 3 2 1<b><br>5 4 3 2</b><b><br>5 4 3</b><b><br>5 4</b><b><br>5</b> </bodytext>  ---> Error in this line
 <Keywords>*NULL*</Keywords>
 <pdfurl>BGL_2014_11_05_AM_01_MN.PDF</pdfurl>
</contentmeta>
</newsitem>

错误: XML 页面无法显示 无法使用 XSL 样式表查看 XML 输入。请更正错误,然后单击“刷新”按钮,或稍后重试。


结束标记“b”与开始标记“br”不匹配。错误处理资源'file:///C:/Documents and Settings/admin/My Docume...

5 4 3 2 1
5 4 3 2

5 4 3

5 4

【问题讨论】:

  • 关闭你的&lt;br&gt;标签,否则它不是一个有效的xml。使用&lt;br /&gt;

标签: xml


【解决方案1】:

您的 bodytext 元素看起来应该包含 HTML,但您是按字面意思输入的,因此它被视为 XML。

XML 是严格的——每个元素都必须有一个匹配的结束元素,并且是“平衡的”。对于您的 &lt;br&gt; 元素,它们没有匹配的结束元素。

你有两个选择。您可以关闭&lt;br&gt; 元素,如&lt;br /&gt;,也可以将bodytext 视为CDATA,如下所示:

 <bodytext><![CDATA[ 5 4 3 2 1<b><br>5 4 3 2</b><b><br>5 4 3</b><b><br>5 4</b><b><br>5</b>  ]]></bodytext>

后者可能更可取,因为 XML 和 HTML 背后的语义并不完全相同(否则您基本上是在强迫自己编写 XHTML)。这允许您输入您想要的任何内容,而不会将其视为 XML。

【讨论】:

    【解决方案2】:

    就像消息说的那样:在关闭当前的br 标记之前关闭b 标记。请记住,这是 XML,而不是 HTML;如果您有一个没有结束标签的标签(例如br),您必须使用&lt;br/&gt; 来指示它。 (就像@gp. 所说,但更简洁。)

    【讨论】:

      【解决方案3】:

      br 标签未关闭!

      &lt;br/&gt;&lt;br&gt; ... &lt;/br&gt; 将其关闭。

      【讨论】:

        猜你喜欢
        • 2011-10-18
        • 1970-01-01
        • 1970-01-01
        • 2011-01-27
        • 2013-02-15
        • 2018-07-31
        • 2011-09-25
        • 2023-04-11
        • 1970-01-01
        相关资源
        最近更新 更多