我有一个发送
的WebRequest服务(外部客户端)<Sales>
<Customer>
<Name>John</Name>
</Customer>
<Goods>
<Good>
<id>5445</id>
</Good>
<Good>
<id>6767</id>
</Good>
</Goods>
</Sales>
但是当收到XML时,商品神秘地添加了一个名称空间。
<Good xlmns="http://example.com/INT">
我的服务是: -
[OperationContract]
[WebInvoke(UriTemplate = "SendRequest", BodyStyle = WebMessageBodyStyle.Wrapped, Method = "POST", ResponseFormat = WebMessageFormat.Xml)]
public Sales(clsCustomer Customer, clsGoods Goods)
我必须删除Xlmns。
将XML解析为函数的参数时,将填充Customer对象,但Goods对象为null。当我在Goods和Good之间添加额外的节点层并使用XMLElement接受值时,我发现Good现在有一个我没有添加的命名空间。在内部,Good现在是<Good xlmns="http://example/Int">
,我该如何阻止.NET添加xmlns?
答案 0 :(得分:1)
首先将Goods
转换为整数列表中的字符串列表:
Goodstr = Goods.ConvertAll(delegate(int i) { return i.ToString(); });
并使用它来填充XML