如何使用XSLT将整个xml()复制到单个节点?

如何使用XSLT将整个xml()复制到单个节点?,xml,xslt,xsd,biztalk,Xml,Xslt,Xsd,Biztalk,我必须接收xmlDocument类型的XML消息,并将整个XML内容复制到另一个强类型XML消息的单个节点 我创建了一个通用模式,如下所示,并在Map中使用它来转换它,但我无法这样做,因为MessageType NamespaceRootNode未知 <?xml version="1.0" encoding="UTF-16"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:b="http://sche

我必须接收xmlDocument类型的XML消息,并将整个XML内容复制到另一个强类型XML消息的单个节点

我创建了一个通用模式,如下所示,并在Map中使用它来转换它,但我无法这样做,因为MessageType NamespaceRootNode未知

<?xml version="1.0" encoding="UTF-16"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:b="http://schemas.microsoft.com/BizTalk/2003">
  <xs:element name="Root">
    <xs:complexType>
      <xs:complexContent mixed="true">
        <xs:restriction base="xs:anyType"/>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
</xs:schema>

您可以在编排中使用xpath函数

1在System.XML.XmlElement变量_1中获取源XML的内容:

Variable_1 = xpath(Message_1, "/");
2使用消息分配形状初始化目标消息:

xmlDocument = new System.Xml.XmlDocument();
xmlDocument.LoadXml("<ns0:Root xmlns:ns0='http://BizTalkMassCopy.Schema1'><Field>Field_0</Field><MyRecord></MyRecord></ns0:Root>");
Message_2 = xmlDocument;

嗯?XSD与XSLT有什么关系?但要复制完整的节点树,谷歌XSLT标识转换。要查看的关键词是信封模式。您是否尝试过将上面的模式设置为信封模式和管道中XML汇编程序的有效负载?
xpath(Message_2, "/*[local-name()='Root' and namespace-uri()='http://BizTalkMassCopy.Schema1']/*[local-name()='MyRecord' and namespace-uri()='']") = Variable_1;