0

我的简单 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>

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

4

1 回答 1

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 页面”文本上的链接。

我希望这能帮到您。

于 2012-08-03T05:28:10.093 回答