首页 新闻 赞助 找找看

C# 操作XML文件

0
悬赏园豆:5 [已解决问题] 解决于 2018-01-23 19:41

<Language Key="lbl_ResponsibleDeclarationDetail">
<value>

<p>福建省地方就看电视剧</p>

<p>福建省地方就看电视剧</p>

<p>福建省地方就看电视剧</p>

</value>
</Language>

 

请问如何将Value节点下的内容全部读取(包含html标签)

祥仔不哭的主页 祥仔不哭 | 初学一级 | 园豆:187
提问于:2017-12-23 16:02
< >
分享
最佳答案
0

这个问题难就难在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);
        }
    }
}
收获园豆:5
dudu | 高人七级 |园豆:31075 | 2017-12-23 21:12

谢谢

祥仔不哭 | 园豆:187 (初学一级) | 2018-01-23 19:50
其他回答(2)
0

xmlDocument,Element or Node。

花飘水流兮 | 园豆:13560 (专家六级) | 2017-12-23 19:07
0

linq to xml

~扎克伯格 | 园豆:1923 (小虾三级) | 2017-12-25 15:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册