1

XML ファイルまたはデータにアクセスできない場合、Web ページが XSL を使用して変換している XML ファイルのコピーをどのように再現できますか?

XSL コードを含む xml.config ファイルにアクセスできます。XML ファイルのすべてのデータを出力するソリューションを見つけましたが、値の壁であるため役に立ちません。xml タグは含まれず、ノード ツリーも提供されません。

4

2 に答える 2

2

使用:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="/">
  <xsl:copy-of select="."/>
 </xsl:template>
</xsl:stylesheet>

この変換が任意の XML ドキュメントに適用されると、たとえば次のようになります。

<nums>
  <num>01</num>
  <num>02</num>
  <num>03</num>
  <num>04</num>
  <num>05</num>
  <num>06</num>
  <num>07</num>
  <num>08</num>
  <num>09</num>
  <num>10</num>
</nums>

必要な結果 -- 同じ XML ドキュメント -- が生成されます。

<nums>
   <num>01</num>
   <num>02</num>
   <num>03</num>
   <num>04</num>
   <num>05</num>
   <num>06</num>
   <num>07</num>
   <num>08</num>
   <num>09</num>
   <num>10</num>
</nums>
于 2012-09-09T17:52:55.587 に答える
1

データを表示する必要があるだけの場合は、次のような単純なものを使用できます。

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

  <xsl:template match="*">
    <xsl:value-of select="concat('&lt;',name())" />
    <xsl:apply-templates select="@*" />
    <xsl:text>&gt;</xsl:text>
    <xsl:apply-templates select="node()"/>
    <xsl:value-of select="concat('&lt;/',name(),'&gt;')" />
  </xsl:template>

  <xsl:template match="@*">
    <xsl:value-of select="concat(' ',name(),'=&quot;',.,'&quot;')" />
  </xsl:template>
</xsl:stylesheet>

コメントや処理命令は出力されませんが、ドキュメントのデータと構造を確認するだけであれば十分です。もっと手の込んだものが必要な場合は、おそらく、XML ドキュメントをそれを表示する Web ページに変換する xslt を見つけることができます。ここで進行中の作業があります: http://www.flynn1179.net/xml/DisplayXml.xslt。私は自分のウェブサイトでこれを使用していますが、おそらくもっと良いものがあります。

于 2012-09-09T18:28:32.577 に答える