2015-02-06 11 views
2

У меня есть WebRequest обслуживание (внешний клиент), который посылаетпространство имен добавляется в XML

<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 является нулевым. Когда я добавляю дополнительный уровень узла между товаром и товаром и использую XMLElement для принятия значений, я нахожу, что узел Good теперь имеет пространство имен, которое я не добавлял. Внутри, хорошо сейчас <Good xlmns="http://example/Int">, как я могу предотвратить добавление xmlns .NET?

+0

вы имеете в виду, что, когда вы читаете байт из сокета вы получаете Добавлен xmlns? или вы имеете в виду, что он добавляется, когда вы анализируете его как xml? или вы имеете в виду, что когда вы создаете xml, он добавляется? или вы имеете в виду, что когда вы сохраняете xml после того, как вы его разобрали, он добавлен? Можете ли вы добавить короткий пример, демонстрирующий проблему? – Default

+0

Вам нужно выяснить, откуда это пространство имен и понять, почему оно добавляется. Вы не должны просто удалять что-то только потому, что вы этого не понимаете, объявления пространства имен очень важны в XML. – Flynn1179

ответ

1

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

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

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

Смежные вопросы