使用HTML标记将XML解析为CSV时丢失空格

时间:2014-06-22 12:14:41

标签: c# html xml csv

当我解析使用HTML标记到CSV的XML文件时,我遇到了问题。

当我想解析时:

"<strong>Nokia</strong> connecting people" 

来自使用< strong >标记的XML说明字段,以CSV格式

"<strong>Nokia</strong>connecting people". 

诺基亚标签与下一个字(连接)之间的空间消失了。

XML:

<Descritpion>
    <![CDATA[<p>
          <strong>Nokia</strong> connecting people
    </p>]]>
</Descritpion>

CSV:

<p>
    <strong>Nokia</strong>connecting people
</p>

C#:

else if (reader.Name == "Description")
{
    while (reader.NodeType != XmlNodeType.EndElement)
    {
        reader.Read();

        if (reader.NodeType == XmlNodeType.CDATA)
            desctiption= reader.Value;
    }
}

任何想法如何解决?

1 个答案:

答案 0 :(得分:0)

使用以下代码,我得到正确的输出,因此可能是您将值输出到CSV的方式。注意,我必须在几个地方修复描述的拼写,所以这可能是你的一些问题的原因:

var XML =
    "<Doc><Description><![CDATA[<p><strong>Nokia</strong> connecting people</p>]]></Description></Doc>";
XmlReader reader = XmlReader.Create(new StringReader(XML));

string description ="";


while (reader.Read())
{
    if (reader.Name == "Description")
    {
        while (reader.NodeType != XmlNodeType.EndElement)
        {
            reader.Read();
            if (reader.NodeType == XmlNodeType.CDATA)
                description = reader.Value;
        }
    }
}


Console.Write(description);