【问题标题】:Converting the children of XElement to string [duplicate]将 XElement 的子级转换为字符串 [重复]
【发布时间】:2011-03-05 19:09:51
【问题描述】:

可能重复:
Best way to get InnerXml of an XElement?

我正在使用 XElement 来保存 HTML 服务器端的块。

我想将该 XElement 的子元素转换为字符串,有点像 javascript 中的“InnerHtml”属性。

有人可以帮我解决这个问题吗? :)

【问题讨论】:

    标签: c# xml xhtml innerhtml xelement


    【解决方案1】:

    如果元素仅包含其他元素,则其他答案将起作用。如果您还想包含文本,则需要使用 Nodes() 而不是 Elements():

    var result = string.Concat(element.Nodes());
    

    【讨论】:

    • 我刚刚测试了这个,效果很好。这是我关于 Stack Overflow 的第一个问题,我对我得到答案的速度印象深刻。 :)
    • 像魅力一样工作!!!
    【解决方案2】:

    XElement 类不提供直接获取元素“内部 XML”的方法。
    您可以手动连接子元素,例如使用

    string result = string.Concat(element.Elements());
    

    string result = string.Join(Environment.NewLine, element.Elements());
    

    【讨论】:

      【解决方案3】:

      查看各种选项,在此处进行性能测试:Best way to get InnerXml of an XElement?

      您可能想为您的 quiver 创建一个扩展方法:

      /// <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();
      }
      

      【讨论】:

        【解决方案4】:

        foreach(Element.Elements() 中的变量元素) { 产量返回元素.ToString(); }

        返回一个带字符串的 IEnumerable。

        【讨论】:

          【解决方案5】:

          感谢 Quartermeister,对我来说是这样的

          string result = string.Concat(instanceXElement.Nodes().ToArray());
          

          我的 instanceXElement 中只有 HTML 代码,我想准确地取出它。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-03-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-07-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多