创建的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
答案 0 :(得分:2)
您的bodytext
元素看起来似乎包含HTML,但是您按字面意思输入它,因此它被视为XML。
XML是严格的 - 每个元素必须具有匹配的结束元素,并且是“平衡的”。对于<br>
元素,它们没有匹配的结束元素。
您有两种选择。您可以关闭<br>
之类的<br />
元素,也可以将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。
答案 1 :(得分:1)
就像消息中所说:在关闭当前b
代码之前,您会关闭br
代码。请记住,这是XML,而不是HTML;如果您的标签没有结束标记(例如br
),则必须使用<br/>
进行标记。 (就像@gp。所说,但更简洁。)
答案 2 :(得分:1)
br
标记未关闭!
将其关闭为<br/>
或<br> ... </br>
。