2014-09-10 5 views
1

Я создаю XDocument со следующей структурой:Добавить Мыльные заголовки к XDocument

Dim xDocHandle As XDocument = 
            New XDocument(
            New XDeclaration("1.0", Nothing, Nothing), 
            New XElement("Element", 
            New XElement("Dialogue", 
            New XElement("Desc", AppDesc), 
            New XElement("Num", Num), 
            New XElement("Ref", Ref), 
            New XElement("ms", Ms), 
            New XElement("im", Im)) 
            )) 

Чтобы иметь следующий вывод:

<Element> 
    <Dialogue> 
    <Desc>test</Desc> 
    <Num>1</Num> 
    <Ref></Ref> 
    <ms>2411616</ms> 
    <im></im> 
    </Dialogue> 
</Element> 

Я хочу добавить следующие заголовки

<?xml version="1.0"?> 
    <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" 
    soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> 

<soap:Body xmlns=""> 

Следует добавить их как новые XDeclaration, новые XElement? Какой тип заголовков мыла?

Любая помощь будет оценена по достоинству.

ответ

2

<soap:Envelope> и <soap:Body> - явно элементы. Вы можете сделать что-то вроде этого, чтобы построить XML с заголовком мыльный:

'create <Element> node :' 
Dim element As XElement = New XElement("Element", 
            New XElement("Dialogue", 
            New XElement("Desc", AppDesc), 
            New XElement("Num", Num), 
            New XElement("Ref", Ref), 
            New XElement("ms", Ms), 
            New XElement("im", Im)) 
            ) 
'create <soap:Envelope> node and add <Element> as child of <soap:Body> :' 
Dim soap As XNamespace = "http://www.w3.org/2001/12/soap-envelope" 
Dim soapEnvelope As XElement = New XElement(soap + "Envelope", 
           New XAttribute(XNamespace.Xmlns + "soap", soap.NamespaceName), 
           New XAttribute(soap + "encodingStyle", "http://www.w3.org/2001/12/soap-encoding"), 
           New XElement(soap + "Body", element)) 
'create XDocument and set <soap:Envelope> as content' 
Dim xDocHandle As XDocument = 
          New XDocument(
          New XDeclaration("1.0", Nothing, Nothing), 
          soapEnvelope 
          ) 

Выход:

<?xml version="1.0"?> 
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" 
       soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> 
    <soap:Body> 
     <Element> 
      <Dialogue> 
      <Desc>test</Desc> 
      <Num>1</Num> 
      <Ref></Ref> 
      <ms>2411616</ms> 
      <im></im> 
      </Dialogue> 
     </Element> 
    </soap:Body> 
</soap:Envelope> 
+0

Я хочу добавить приписать XMLNS, но когда я делаю что, автоматически получение xmlns, а также – HelpASisterOut

+0

@HelpASisterOut Я предлагаю открыть для этого новый вопрос .. – har07

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

  • Нет связанных вопросов^_^