【发布时间】:2014-08-18 04:46:24
【问题描述】:
我从 Web 服务接收 xml 数据,该服务将所有数据作为一个转义的 xml 字符串返回。但是无论出于何种原因,部分 xml 都包含在 cdata 标记中。 cdata 中的转义 xml 通常也包含转义的 xml 字符。示例:
<root>
<importData>dat</importData>
<Response>
<![CDATA[<SecondRoot>
<Data>123</Data>
<DataEscapedCharacterIncluded> 3 > 1</DataEscapedCharacterIncluded>
</SecondRoot>]]>
</Response>
</root>
我需要使用 xsl 将 cdata 部分内外的 xml 转换为另一种 xml 格式,但我很难弄清楚如何使用 c# 或 xsl 将其转换为可用的 xml 表单,所以我可以将 xsl 转换为不同的格式。我希望它如下所示:
<root>
<importData>dat</importData>
<Response>
<SecondRoot>
<Data>123</Data>
<DataEscapedCharacterIncluded> 3 > 1</DataEscapedCharacterIncluded>
</SecondRoot>
</Response>
<root>
【问题讨论】:
-
也许你可以将你的xml转换为字符串,并在c#中使用replace方法来删除,那么它应该成为一个有效的xml语法
-
你确定整个响应在源头被转义了吗?