如何在 xslt 中循环包含编码 xml 的元素
how to loop through an element containing encoded xml in xslt
我在包含编码 xml 的模式中有一个节点。
在我的 xslt 中解析后,我需要遍历它并在映射方面做我必须做的事情。
正在寻找有关如何完成此操作的指示,现在我已经
<xsl:value-of select="*xpath to the encoded xml/text()*" disable-output-escaping="yes"/>
但我不确定是否应该将其放入变量中,如果它在变量中,我是否可以循环遍历它?
我正在考虑将编码的 xml 元素映射到它自己的模式并在那里处理它。有什么想法吗?
我最近试图在这里回答一个类似的问题:mapping a string containing xml in BizTalk
它涉及两个映射,中间格式为:
示例输入消息:
<root>
<someNode>blabla</someNode>
<any><root2><myValue>escapedXml</myValue></root2></any>
</root>
您可以将此消息映射到中间格式,将输入消息中的转义 XML 转义为它自己的架构。
例如,您可以使用 System.Web.HttpUtility.HtmlDecode()
取消转义字符串。
示例中间格式:
<root>
<someNode>blabla</someNode>
<any>
<root2>
<myValue>escapedXml</myValue>
</root2>
</any>
</root>
拥有支持转义的所有可能性的单独模式 XML,将使您能够轻松验证传入的消息,并为您提供更好的视觉表示。
在第二个映射中,您使用中间格式作为输入,然后您可以使用 BizTalk 映射器或像 real BizTalkers 那样映射到最终目标模式, 纯 XSLT ;-)
我在包含编码 xml 的模式中有一个节点。
在我的 xslt 中解析后,我需要遍历它并在映射方面做我必须做的事情。
正在寻找有关如何完成此操作的指示,现在我已经
<xsl:value-of select="*xpath to the encoded xml/text()*" disable-output-escaping="yes"/>
但我不确定是否应该将其放入变量中,如果它在变量中,我是否可以循环遍历它?
我正在考虑将编码的 xml 元素映射到它自己的模式并在那里处理它。有什么想法吗?
我最近试图在这里回答一个类似的问题:mapping a string containing xml in BizTalk
它涉及两个映射,中间格式为:
示例输入消息:
<root>
<someNode>blabla</someNode>
<any><root2><myValue>escapedXml</myValue></root2></any>
</root>
您可以将此消息映射到中间格式,将输入消息中的转义 XML 转义为它自己的架构。
例如,您可以使用 System.Web.HttpUtility.HtmlDecode()
取消转义字符串。
示例中间格式:
<root>
<someNode>blabla</someNode>
<any>
<root2>
<myValue>escapedXml</myValue>
</root2>
</any>
</root>
拥有支持转义的所有可能性的单独模式 XML,将使您能够轻松验证传入的消息,并为您提供更好的视觉表示。
在第二个映射中,您使用中间格式作为输入,然后您可以使用 BizTalk 映射器或像 real BizTalkers 那样映射到最终目标模式, 纯 XSLT ;-)