Пространство имен, добавляемое в 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