名称空间被添加到XML

时间:2015-02-06 11:19:46

标签: c# xml webrequest

我有一个发送

的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?

1 个答案:

答案 0 :(得分:1)

首先将Goods转换为整数列表中的字符串列表:

Goodstr = Goods.ConvertAll(delegate(int i) { return i.ToString(); });

并使用它来填充XML