XMLSerializerを使用してシリアライズした後、XSLTを使用してさまざまな形式の電子メールまたはWebサービス呼び出しに変換するクラスがありました。すべてが順調でした。XSLスタイルシートは、DataContractSerializerで生成されたXMLを解析しません。
私たちはデータレイヤーのいくつかの部分でLinqを使用し始めました.XSLスタイルシートで消費されるLinqオブジェクトの一部をシリアル化する必要がありました。おそらく、XMLSerializerではなくDataContractSerializerを使用する方がよいと判断しました。
私はDataContractsを取得し、すべての設定を行い、物事はエンティティ名のいくつかのわずかな変更でうまくいきます...しかし、スタイルシートはXMLを一切処理しません。なぜ私が何かを得ていないのは本当に分かりません。基本的には、xslタグを取り除いたデータだけです。
何が原因でしょうか?
編集:私はのDataContract宣言を変更する前にここで
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="CallTicket">
はDataContractSerializerから生成されたXMLは次のとおりです。
<CallTicket xmlns="http://schemas.datacontract.org/2004/07/CRMInterface.CRMData" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
はい、。 _私はどのようにして正しく名前空間を扱うのですか? xsl宣言で編集します... – CodeRedick
XMLにXML名前空間がある場合は、XSLTに同じ宣言が必要です。xmlns:xy接頭辞で要素を修飾する必要があります。 –
LINQエンティティが使用するネームスペースを制御できるとは思いませんか? .designer.csファイルにハードコードされているように見えますが、デザイナーからアクセスする方法はありません... – CodeRedick