2012-02-02 2 views
0

У меня есть функция, которая возвращает значение из определенного тега в документе XML:XML синтаксический анализ с использованием XElement и ребенком содержания

  XElement elem = XElement.Parse(xml_string); 
      string ret = elem.Element(key).Value.ToString(); 
      return ret; 

Я пытаюсь понять, как создать еще один метод, который возвращает полный содержащееся в теге, включая дочерние теги и дочерние значения.

т.е. если у меня есть:

<foo> 
Hello 
<child1>val1</child1> 
<child2>val2</child2> 
</foo> 

Описанный выше метод правильно возвращает «Hello», но то, что я хочу, это еще один метод, который возвращает:

Hello<child1>val1</child1><child2>val2</child2> 
+0

Фактически, этот метод возвращает «Hello val1val2» с некоторыми разрывами строк ... –

+0

Возможный дубликат [Лучший способ получить InnerXml XElement?] (http://stackoverflow.com/questions/3793/best-way-to-get-innerxml-of-an-xelement) – Cameron

ответ

1

Самый простой вариант заключается в прясть через коллекция возвращается XElement.Nodes() и объединяет значения XNode.ToString() для всех этих узлов. Если вы не хотите, чтобы он был отформатирован (и похоже, что вы этого не сделали), вызовите XNode.ToString (SaveOptions.DisableFormatting)