-1

LINQ to XML で正常にナビゲートしている完全な XML ドキュメントがあります。HTML を含むサブノードがあり、サブノードの全文を文字列として取得したいと考えています。

...
<p>
  this is sample text in <italic>italic</italic> and in <bold>bold</bold>.
</p>
...

var text = node.Element("p").Value戻り値this is sample text in italic and in bold.

var text = node.Element("p").ToString()戻り値<p>this is sample text in <italic>italic</italic> and in <bold>bold</bold>.</p>

私が本当に欲しいのはthis is sample text in <italic>italic</italic> and in <bold>bold</bold>.

内側のテキストと内側のタグを文字列として返すメソッドはどれですか? <p>外タグいらない。

4

2 に答える 2

1

これを試してください:-

プロパティを直接使用して、タグinnerXmlの内部コンテンツをpxml として取得できます。

namespace XML_Reader
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlDocument xdoc = new XmlDocument();
            xdoc.Load("test.xml");
            XmlNode elem = xdoc.DocumentElement.FirstChild;

            Console.WriteLine(elem.InnerXml);       
        }
    }
}

XML:-

<element>
  <p>
    this is sample text in <italic>italic</italic> and in <bold>bold</bold>.
  </p>
</element>

出力:-

  this is sample text in <italic>italic</italic> and in <bold>bold</bold>.
于 2013-10-11T03:48:38.760 に答える
1
var reader = node.Element("p").CreateReader();
reader.MoveToContent();
var inerXml = reader.ReadInnerXml();

また

var inerXml = string.Concat(node.Element("p").Nodes().Select(x => x.ToString()).ToArray());
于 2013-10-11T03:34:37.243 に答える