可能重複:
Best way to get InnerXml of an XElement?轉換的XElement的孩子串
我使用的XElement持有HTML服務器端的塊。
我想將該XElement的子元素轉換爲字符串,有點像JavaScript中的「InnerHtml」屬性。
有人可以幫助我嗎? :)
可能重複:
Best way to get InnerXml of an XElement?轉換的XElement的孩子串
我使用的XElement持有HTML服務器端的塊。
我想將該XElement的子元素轉換爲字符串,有點像JavaScript中的「InnerHtml」屬性。
有人可以幫助我嗎? :)
如果元素只包含其他元素,則其他答案將起作用。如果你想包括文本,以及,你需要使用節點(),而不是元素():
var result = string.Concat(element.Nodes());
XElement類不提供直接獲取元素的「內部XML」的方法。
可以串聯的子元素手動雖然,例如使用
string result = string.Concat(element.Elements());
或
string result = string.Join(Environment.NewLine, element.Elements());
的foreach)(以Element.Elements()VAR元件){ 收率返回element.ToString(; }
返回帶有字符串的IEnumerable。
看到各種各樣的選擇,性能測試這裏:Best way to get InnerXml of an XElement?
您可能希望爲您創造顫抖的擴展方法這樣:
/// <summary>
/// Gets the inner XML of an <see cref="XElement"/>. Copied from
/// https://stackoverflow.com/questions/3793/best-way-to-get-innerxml-of-an-xelement
/// </summary>
/// <param name="element">The element.</param>
/// <returns>The inner XML</returns>
public static string GetInnerXml(this XElement element)
{
var reader = element.CreateReader();
reader.MoveToContent();
return reader.ReadInnerXml();
}
對我來說是這樣的,由於Quartermeister
string result = string.Concat(instanceXElement.Nodes().ToArray());
我只是在我的instanceXElement中有HTML代碼,我想要準確地取出它。
我剛剛測試過這個,它工作完美。這是我在Stack Overflow上的第一個問題,我對它的回答有多快,我印象深刻。 :) – Michael 2010-06-19 15:58:48
工程就像一個魅力! – 2014-02-14 09:01:36