C# 以文本形式获取XML子元素和内容
我有一个完整的XML文档,我正在使用LINQ成功地导航到XML。我有一个包含HTML的子节点,我想以字符串的形式获取子节点的全文C# 以文本形式获取XML子元素和内容,c#,xml,linq,C#,Xml,Linq,我有一个完整的XML文档,我正在使用LINQ成功地导航到XML。我有一个包含HTML的子节点,我想以字符串的形式获取子节点的全文 ... <p> this is sample text in <italic>italic</italic> and in <bold>bold</bold>. </p> ... 。。。 这是斜体和粗体的示例文本。 ... var text=node.Element(“p”).Valu
...
<p>
this is sample text in <italic>italic</italic> and in <bold>bold</bold>.
</p>
...
。。。
这是斜体和粗体的示例文本。
...
var text=node.Element(“p”).Value
返回这是斜体和粗体的示例文本。
var text=node.Element(“p”).ToString()返回这是斜体和粗体的示例文本。
我真正想要的是这是斜体和粗体的示例文本。
什么方法将以字符串形式返回内部文本和内部标记?我不想要外部的
标签
var reader = node.Element("p").CreateReader();
reader.MoveToContent();
var inerXml = reader.ReadInnerXml();
或
试试这个:-
您可以直接使用innerXml
属性将p
标记的内部内容获取为xml
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>.
这是斜体和粗体的示例文本。
输出:-
<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>.
这是斜体和粗体的示例文本。
我去寻找它,但没有将其视为Element()结果的属性。谢谢。我自己经过一番探索才想到的。应该是一个很好的扩展方法!这是一种有趣的方法,但我不是在使用xdocs,而是在使用Linq到XML。