在JS中呈现XML的问题

时间:2012-02-23 06:38:30

标签: javascript html xml xslt

这是我的HTML:

<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>
</head>
<body>

<button type="button" onclick="load_xml_content_string()">click me</button>
<div id="mytext">

</div>

在这个HTML中我正在加载XML文件并使用下面的XSLT转换该XML文件。

这是我的XML:

<P style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 36pt; FONT-WEIGHT: bold">Hello rakesh</P>
<P style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 36pt; FONT-WEIGHT: bold">&nbsp; rakesh</P>

这是我的XSL

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="html" indent="yes"/>

     <xsl:template match="P">
     <xsl:variable name="check">
      <xsl:value-of select="normalize-space(substring-before(substring-after(@style,'FONT-SIZE:'), 'pt'))" />
    </xsl:variable>

    <xsl:choose>
        <xsl:when test="round($check=8) or round($check=7) or round($check=6)">
                    <font size="1">
                    <xsl:value-of select="."/>  
                    </font>
          </xsl:when>
  <xsl:otherwise>
                    <font size="3">
                    <xsl:value-of select="."/>  
                    </font>
          </xsl:otherwise>

        </xsl:choose>
    </xsl:template>    
</xsl:stylesheet>

这是我完成XML转换的XSLT

我想渲染&nbsp中使用的XML。 由于&nbsp我的整个XML无法由JS加载。我在HTML中使用过 有没有办法做到这一点..

1 个答案:

答案 0 :(得分:2)

&nbsp; 不是XML中的预定义实体,因此解析通常会失败。请改用 &#xA0;