XML到XSL我做错了什么

时间:2017-02-15 10:48:24

标签: xml

我正在尝试从网页上的防火墙发布XML报告中的一些数据。由于XML中的数据会不时更新,因此我不能只是静态发布数据。

现在我花了一些时间来研究XML和网络,但我无法弄清楚我做错了什么。

XML代码的一部分:

 <?xml version="1.0"?>
 <?xml-stylesheet href="test.xsl"
    type="text/css"?>
 <report reportname="top-application-categories">
   <result name="Top application categories" logtype="appstat" start="2017/02/08 00:00:00" start-epoch="1486508400" delta="86400" slabbed-     start="2017/02/08 00:00:00" end="2017/02/08 23:59:59" end-epoch="1486594799" slabbed-end="2017/02/08 23:59:59" generated-at="2017/02/09 00:00:16" generated-at-epoch="1486594816" range="Wednesday, February 08, 2017">
<entry>
  <category-of-name>general-internet</category-of-name>
  <nsess>14765605</nsess>
  <nbytes>81973979657</nbytes>
</entry>
<entry>
  <category-of-name>business-systems</category-of-name>
  <nsess>8449911</nsess>
  <nbytes>2747818255111</nbytes>
</entry>
<entry>
  <category-of-name>networking</category-of-name>
  <nsess>7673706</nsess>
  <nbytes>172508825988</nbytes>
</entry>

现在我尝试创建一个XSL,确保页面上只显示Name-of-name,Nsess和Nbytes。

<?xml version="1.0"?>
<xsl:stylesheet 
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
>
<xsl:strip-space elements="*"/>
<xsl:output method="xml" 
   omit-xml-declaration="yes" 
   indent="yes" 
   standalone="yes" />

<xsl:template match="/">
  <xsl:for-each select="report">
     <xsl:element name="report">
     <xsl:for-each select="result">
     <xsl:element name="result">
        <xsl:for-each select="entry">
           <xsl:element name="entry">
              <xsl:attribute name="category-of-name">
                 <xsl:value-of select="category-of-name"/>
              </xsl:attribute>
              <xsl:attribute name="nsess">
                 <xsl:value-of select="nsess"/>
              </xsl:attribute>
              <xsl:attribute name="nbytes">
                 <xsl:value-of select="nbytes"/>
              </xsl:attribute>
           </xsl:element>
           </xsl:for-each>
        </xsl:for-each>
     </xsl:element>
  </xsl:for-each>

我在MSDN的WWW上找到了这个例子。它解释了如何使用XML并在Visual Web开发人员中创建的网页上显示数据。 仍然尝试过相同的结果或错误,或者它根本没有显示任何内容。

希望有人能引导我朝着正确的方向前进:)

1 个答案:

答案 0 :(得分:0)

查看第5行。在结果名称=“热门应用程序类别”标签中,有一个未设置的slabbed属性。

它会引导您形成一个格式不正确的XML错误。您可以使用http://codebeautify.org/xmlvalidator来检查它是否格式正确且在线有效。

我希望它可以帮助你;)