2012-04-11 25 views
0

を変更することなく、XSLTを使用してXML文書をコピーします:は、私は</p> <p>私は、次のXSLTを使用しています同じXMLにXMLをコピーしようとしていますXML

<CatalogRequest> 
    <RequestFileHeader> 
     <ClientCode>340000</ClientCode> 
     <CreateTime>2012-04-11T14:57:03.357</CreateTime> 
    </RequestFileHeader> 
</CatalogRequest> 

私は、結果として、以下のようになります。

<?xml version="1.0" encoding="Windows-1252"?> 
<ROOT> 
<CatalogRequest> 
    <RequestFileHeader> 
     <ClientCode>340000</ClientCode> 
     <CreateTime>2012-04-11T14:57:03.357</CreateTime> 
    </RequestFileHeader> 
</CatalogRequest> 
</ROOT> 

<ROOT>ノードが追加されていない同じXMLをどのように保つかについてのアイデア。

次のようにこれが呼び出されている:

Dim Xct As New XslCompiledTransform 
Xct.Load(New XmlTextReader(New StreamReader(xsltFileName))) 
Dim xal As New XsltArgumentList 
Dim helper As New XsltHelper 
xal.AddExtensionObject("urn:XsltHelper", helper) 
Dim memStream As New MemoryStream 
Dim streamWriter As New StreamWriter(memStream, Text.Encoding.GetEncoding(1252)) 
Xct.Transform(doc, xal, streamWriter) 
+1

ですを使用して?私は 'ROOT'がそのXSLTによってどのように追加されるのか分かりません。 –

+0

私の無知を許しなさい、これは私がXSLTの言葉ではじめてどのプロセッサを使用しているか知っていますか? – user994258

+0

XSLTを呼び出すためにどのようなコードを使用していますか? –

答えて

3

私の最高の推測では、あなたの呼び出し元のコードが自動的にROOTノードで提供XMLをラップしていることです。

私はあなたにこの与える既存のXSLT

<xsl:template match="ROOT"> 
    <xsl:apply-templates select="@* | node()"/> 
</xsl:template> 

にこれを追加するために、あなたのことを意味:私はこれが動作する有望なわけではない

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" exclude-result-prefixes="msxsl"> 
    <xsl:output indent="yes" method="xml" /> 
    <xsl:template match="@*|node()"> 
     <xsl:copy> 
     <xsl:apply-templates select="@*|node()" /> 
     </xsl:copy> 
    </xsl:template> 
    <xsl:template match="ROOT"> 
     <xsl:apply-templates select="@* | node()" /> 
    </xsl:template> 
</xsl:stylesheet> 

を - それはあなたがどのようなプロセッサの推測

+0

私はあなたが正しいと信じています。しかし、あなたが提供したXSLTは、ノードの値(ノード構造ではない)をコピーし、無効なXMLを作成します。何か案は? – user994258

+0

ありがとう、私はそれを試してみましょう。 – user994258

関連する問題