我正在使用第三方网络服务,并且在从.Net应用程序发送数据时遇到问题。情形:
我使用HttpClient连接到他们的服务器。我找回一个附加到请求末尾的安全令牌,该令牌也是使用HttpClient发送的。
这是一个发送到服务器的更新语句:
<?xml version="1.0" encoding="utf-8" ?>
<NODES_OPERATIONS>
<ChangeNode URL="C294785" >
<ChangeAttribute Id="bdMarketingShortDescription" Type="string" Value="LW short" />
</ChangeNode>
</NODES_OPERATIONS>
此声明正常。但是,我需要将HTML放在Value属性中,如下所示:需要发送以下内容:
<?xml version="1.0" encoding="utf-8" ?>
<NODES_OPERATIONS>
<ChangeNode URL="C294785" >
<ChangeAttribute Id="bdMarketingShortDescription" Type="string" Value="<div>LW short</div>" />
</ChangeNode>
</NODES_OPERATIONS>
但是我必须对Value进行HTML编码,所以最终看起来像这样:
<NODES_OPERATIONS>
<ChangeNode URL="C294785" >
<ChangeAttribute Id="bdMarketingShortDescription" Type="string" Value="<div>LW short</div>" />
</ChangeNode>
</NODES_OPERATIONS>
可能有一个或多个ChangeAttributes。我正在使用字符串构建器构建它。
任何类型的HTML(无论是否编码)都会引发错误,无法解析XML。第三方服务是用Java编写的,他们不知道问题所在。他们在价值中支持HTML。
我在这里唯一可以提出的是.Net字符串是UTF 16,而不是UTF 8,但是我不知道如何转换它,因为当Value是一个简单的字符串时它可以正常工作,但是而不是它的HTML编码。关于该怎么做的任何想法?