无法在xml文件中看到超链接

时间:2012-08-02 23:51:00

标签: xml xml-parsing

我在简单的xml文档中有以下代码

<?xml version="1.0"?>
<sample>
<link xml:link="simple" href="http://www.google.com"> Google page </link>
</sample>

但这只是浏览器中的标签而不管它是什么浏览器

这是我浏览器上显示的内容:

<sample><link xml:link="simple" href="http://www.google.com"> Google page </link></sample>

请让我知道为什么超链接没有出现在浏览器上而不是标签上。我尝试了很多选择,但似乎我错过了一些非常基本的东西 感谢

1 个答案:

答案 0 :(得分:0)

您无法使用HTML行为打开XML文件。为此,您需要使用XSLT将XML文件转换为HTML文件。以下代码捕获将帮助您使用XSLT将XML文件转换为HTML文件:

应用以下XSLT:

<?xml version="1.0" encoding="iso-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40">

  <xsl:output method="html"/>

  <xsl:template match="/">
    <HTML>
      <HEAD>
        <TITLE>Sample HTML</TITLE>
      </HEAD>
      <BODY>
        <xsl:apply-templates/>
      </BODY>
    </HTML>
  </xsl:template>

  <xsl:template match="sample/link">
    <A TARGET="_blank">
      <xsl:attribute name="HREF">
        <xsl:value-of select="@href"/>
      </xsl:attribute>
      <xsl:apply-templates/>
    </A>
  </xsl:template>  

XML文件是这样的:

<sample>
  <link xml:link="simple" href="http://www.google.com"> Google page </link>
</sample>  

将XML文件转换为.HTML文件的C#函数是:

public void transformToHtml()
    {
        XslCompiledTransform transform = new XslCompiledTransform();
        transform.Load("html.xslt");
        transform.Transform("htmlArtical.xml", "toHTML.html");
    }  

输出.HTML文件是这样的:

<HTML xmlns="http://www.w3.org/TR/REC-html40">
<HEAD>
<TITLE>Sample HTML</TITLE>
</HEAD>
<BODY>
<A TARGET="_blank" HREF="http://www.google.com"> Google page </A>
</BODY>
</HTML>  

在浏览器中打开此.HTML文件,您将获得“Google页面”文字的链接。

我希望这会对你有所帮助。