当我解析使用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;
}
}
任何想法如何解决?
答案 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);