2016-08-02 1 views
0

У меня есть этот XML:Извлечь узел из документа XML

<WMFWUpload> 
     <Date></Date> 
     <GroupIndex></GroupIndex> 
     <Id></Id> 
     <NumGroups></NumGroups> 
     <NumRecs></NumRecs> 
     <Receipts> 
      <Receipt> 
       <CreationDateTimeStamp></CreationDateTimeStamp> 
       <CreationProcessStamp></CreationProcessStamp> 
       <DateTimeStamp></DateTimeStamp> 
       <InterfaceRecordId /> 
       <ProcessStamp></ProcessStamp> 
       <UserStamp></UserStamp> 
      </Receipt> 
     </Receipts> 
</WMFWUpload> 

Я прочитал документ с путем, и я хочу, чтобы выбрать только Recepit узел, но не только значение также узлы, и результат должны be:

<Receipt> 
    <CreationDateTimeStamp></CreationDateTimeStamp> 
    <CreationProcessStamp></CreationProcessStamp> 
    <DateTimeStamp></DateTimeStamp> 
    <InterfaceRecordId /> 
    <ProcessStamp></ProcessStamp> 
    <UserStamp></UserStamp> 
</Receipt> 

Это мой код, я застрял.

XDocument doc = XDocument.Load(@"C:\Users\Daniel\Documents\Pite\Selmec\WorkingData\Origen\ReceivingUpload.xml"); 
      var query = from c in doc.Descendants("Receipt").DescendantsAndSelf().ToList() select c; 

      foreach (var value in query) 
      { 
       Console.WriteLine(value); 
      } 

      Console.ReadLine(); 
+2

Возможный дубликат [Получение заданных значений узла из XML-документа] (http://stackoverflow.com/questions/6442024/getting-specified-node-values-from-xml-document) – lokusking

+0

Этот код отличается, я хочу, чтобы все мои вывод в строковом значении. они выбирают некоторые значения –

+0

okey, большое вам спасибо –

ответ

0

Используйте этот

var query = doc.Descendants("Receipt"); 
string s = string.Concat(query); 

Update

Убедитесь, что эта строка <?xml version="1.0" encoding="utf-8"?> на верхней части файла XML

Я использовал этот XML

<?xml version="1.0" encoding="utf-8"?> 
<WMFWUpload> 
     <Date></Date> 
     <GroupIndex></GroupIndex> 
     <Id></Id> 
     <NumGroups></NumGroups> 
     <NumRecs></NumRecs> 
     <Receipts> 
      <Receipt> 
       <CreationDateTimeStamp></CreationDateTimeStamp> 
       <CreationProcessStamp></CreationProcessStamp> 
       <DateTimeStamp></DateTimeStamp> 
       <InterfaceRecordId /> 
       <ProcessStamp></ProcessStamp> 
       <UserStamp></UserStamp> 
      </Receipt> 
     </Receipts> 
</WMFWUpload> 
+0

То же самое, что и 'doc.Descendants (« Receipt »)'. –

+0

да, я просто использую OP, s way – Mostafiz

+0

Я уже сделал это, но я не получаю строку или что-то, что у меня отсутствует, beacuase результат System.Linq.Enumerable + WhereSelectEnumerableIterator'2 [System.Xml. Linq.XElement, System.Xml.Linq.XElement] –

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

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