Пространство имен, добавляемое в XML

У меня есть служба 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 xlmns="http://example/Int">, как предотвратить.NET добавление xmlns?

1 ответ

Перерабатывать Goods сначала к списку строк из списка целых чисел:

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

и использовать это для заполнения XML

Другие вопросы по тегам