从C#发送HTML到Web服务

时间:2015-01-26 20:55:23

标签: c# html web-services

我正在使用第三方网络服务,并且在从.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="&lt;div&gt;LW short&lt;/div&gt;" />
    </ChangeNode>
</NODES_OPERATIONS>

可能有一个或多个ChangeAttributes。我正在使用字符串构建器构建它。

任何类型的HTML(无论是否编码)都会引发错误,无法解析XML。第三方服务是用Java编写的,他们不知道问题所在。他们在价值中支持HTML。

我在这里唯一可以提出的是.Net字符串是UTF 16,而不是UTF 8,但是我不知道如何转换它,因为当Value是一个简单的字符串时它可以正常工作,但是而不是它的HTML编码。关于该怎么做的任何想法?

0 个答案:

没有答案