2009-09-12 4 views

ответ

29

Это должно работать:

var xmlString = "<result>sometext</result>"; 
var xDoc = new XDocument(new XElement("results", XElement.Parse(xmlString))); 
+0

Отлично! Я не рассматривал методы класса. Большое спасибо! – 2009-09-12 09:30:17

1

Смотрите мой ответ на Is there an XElement equivalent to XmlWriter.WriteRaw?

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

var d = new XElement(root, XML_PLACEHOLDER); 
var s = d.ToString().Replace(XML_PLACEHOLDER, child); 

Этот метод также может быть быстрее, чем разбор его с XElement.Parse.

2

Ответ Сани Сингха Huttunen поставил меня на правильный путь, но он позволяет только один результат элемент в результатов элемента.

var xmlString = "<result>sometext</result><result>alsotext</result>"; 

терпит неудачу с System.Xml.XmlException

Есть несколько корневых элементов.

Я решил, переместив результатов элемента в строку буквального

var xmlString = "<results><result>sometext</result><result>alsotext</result></results>"; 

так, чтобы он имел только один корневой элемент, а затем добавляет разобранную строку непосредственно к родительскому элементу, как это:

parent.Add(XElement.Parse(xmlString)); 

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

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