<Language Key="lbl_ResponsibleDeclarationDetail">
<value>
<p>福建省地方就看电视剧</p>
<p>福建省地方就看电视剧</p>
<p>福建省地方就看电视剧</p>
</value>
</Language>
请问如何将Value节点下的内容全部读取(包含html标签)
这个问题难就难在xml的不规范,.net core 2.0 中的实现代码如下:
using System;
using System.Xml;
using System.Xml.Linq;
using System.Linq;
using System.Text;
namespace Q101287
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.UTF8;
//不规范xml
var xml = @"<Language Key=""lbl_ResponsibleDeclarationDetail"">
<value>
<p>福建省地方就看电视剧</p>
<p>福建省地方就看电视剧</p>
<p>福建省地方就看电视剧</p>
</value>
</Language>";
var elementsAsString = XElement.Parse(xml)
.Descendants()
.FirstOrDefault(e => e.Name == "value")
.Descendants()
.Select(e => e.ToString());
var value = string.Join("\n", elementsAsString);
Console.WriteLine(value);
//规范xml
xml = @"<Language Key=""lbl_ResponsibleDeclarationDetail"">
<value>
<![CDATA[
<p>福建省地方就看电视剧</p>
<p>福建省地方就看电视剧</p>
<p>福建省地方就看电视剧</p>
]]>
</value>
</Language>";
var element = XElement.Parse(xml)
.Descendants()
.FirstOrDefault(e => e.Name == "value");
Console.WriteLine(element.Value);
}
}
}
谢谢
xmlDocument,Element or Node。
linq to xml