2012-03-01 10 views
3

Мне нужно получить полную строку Xml из XmlReader (длинная история). Однако в этом примере кода конечная переменная, theXmlString, остается пустой. Почему ему не присваивается строка Xml?Почему мой XmlReader возвращает пустую строку?

string xmlConfig = @"<pdfMappings> 
         <pdfFile formTypeEnum=""Int_UT_Additional_Investment_Form_Ind_And_LE_direct""> 
          <perspective ngiAdminPerspectiveName=""Investor""> 
           <fieldMapping fieldName=""topmostsubform[0].Page2[0].first_names[0]"" mapTo=""CurrentInvolvedParty.FirstName""></fieldMapping> 
           <fieldMapping fieldName=""topmostsubform[0].Page2[0].surname[0]"" mapTo=""CurrentInvolvedParty.LastName""></fieldMapping> 
          </perspective> 
         </pdfFile> 
        </pdfMappings>"; 
var reader = XmlReader.Create(new StringReader(xmlConfig)); 

string theXmlString = reader.ReadOuterXml(); 

ответ

7

Просто нужно, чтобы начать чтение первых, использовать Read(), чтобы перейти к узлу затем ReadOuterXml() на самом деле читать значение.

var reader = XmlReader.Create(new StringReader(xmlConfig)); 
reader.Read(); 
string theXmlString = reader.ReadOuterXml(); 

В качестве альтернативы вы также должны быть в состоянии использовать reader.MoveToContent();.

+2

Как простой. Спасибо, rRrRrRr – willem

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