2014-10-13 2 views
2

у меня есть некоторые проблемы с десериализацией некоторых XMLXML Чтение комментария вне тега

<?xml version="1.0" encoding="utf-8"?> 
<Group> 
    <GroupName>.NET</GroupName>2345 
</Group> 
<!-- ID: [123] --> 

Как я могу получить комментарий (необходимо получить идентификатор) из этого XML.

Реализовать IXmlSerializer, это было бы так огромно. любые идеи, как поступать по-другому?

если этот комментарий может быть между тегом - это не проблема с XmlAttributeOverrides, но это не так.

Это начало процессов:

public object XmlFromStream(HttpWebResponse resp, Type type) 
    { 
     XmlSerializer xmlSerializer; 
     StreamReader responseStream = null; 
     try 
     { 
      xmlSerializer = new XmlSerializer(type); 
      Encoding enc = System.Text.Encoding.UTF8; 
      responseStream = new StreamReader(resp.GetResponseStream(), enc); 
      object objectFromXml = xmlSerializer.Deserialize(responseStream); 
      return objectFromXml; 
     } 
     catch (Exception Ex) 
     { 
      throw Ex; 
     } 
     finally 
     { 
      if (responseStream != null) responseStream.Close(); 
     } 
    } 

пожалуйста, покажите, что будет дальше.

ThanX.

ответ

4

Документ имеет только один элемент root/document, но он также имеет другие узлы. Используя Linq2Xml, вы можете выловить его следующим образом:

var doc = XDocument.Parse(docStr); 
var commentValue = doc.Nodes().OfType<XComment>().First().Value; 
+0

Как насчет полного примера. – AleksP

+1

@AleksP: напоминание о вашем вопросе: «Как я могу получить комментарий». Я вышел за рамки этого, указав * значение * комментария. Разве это не полный пример? Если у вас есть документ в строковом вызове 'docStr', то что еще вам может понадобиться? Я не собираюсь предоставлять для вас компилируемый файл решения. Если вам нужна дополнительная информация, возможно, вам будет лучше задавать лучший вопрос ... – spender

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