渲染XML的问题

时间:2012-02-22 11:01:22

标签: javascript html xml xslt

这是我的Xml格式

    <P style="TEXT-ALIGN: center; MARGIN: 0pt">
    <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 12pt; FONT-WEIGHT: bold">Washington,</SPAN>
    <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 12pt; FONT-WEIGHT: bold">D.C. 20549</SPAN>
    <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 18pt; FONT-WEIGHT: bold">&nbsp;</SPAN>
    <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 12pt"> 
</SPAN>

ad我正在通过XSLT文件将其打印出来,但在解析&nbsp;

时抛出错误

我googled ..有各种方法可以编辑XSLT来执行此操作但是有任何代码片段可以在JS中用于此目的,因为我的XML没有修复其动态,我认为它在每个XML文件中添加这些行是一项艰巨的任务。

我的剧本

<script type="text/javascript">
function load_xml_content_string() 
{
                        xmldoc = new ActiveXObject("Microsoft.XMLDOM");
                        xmldoc.async = false;
                        xmldoc.load("book.xml");
                         xsldoc = new ActiveXObject("Microsoft.XMLDOM");
                         xsldoc.async = false;
                         xsldoc.load("try.xsl");
                         ex= xmldoc.transformNode(xsldoc);
                         document.getElementById('mytext').innerHTML = ex;

}
</SCRIPT>

1 个答案:

答案 0 :(得分:0)

您的XML应该使用DTD声明&nbsp;,因为现在您的XML不是格式良好的XML文档:

<!DOCTYPE P [<!ENTITY nbsp "&#xA0;">]>

<P style="TEXT-ALIGN: center; MARGIN: 0pt">
    <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 12pt; FONT-WEIGHT: bold">Washington,</SPAN>
    <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 12pt; FONT-WEIGHT: bold">D.C. 20549</SPAN>
    <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 18pt; FONT-WEIGHT: bold">&nbsp;</SPAN>
    <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 12pt">
    </SPAN>
</P>