我一直在寻找解决方案很长时间没有运气。我正在使用此代码从 .odt 文件中提取文本:
public String ReadOdt(String path)
{
var sb = new StringBuilder();
using (var doc = new TextDocument())
{
doc.Load(path);
XElement stylesPart = XElement.Parse(doc.DocumentStyles.Styles.OuterXml);
string stylesText = string.Join("\r\n", stylesPart.Descendants().Where(x => x.Name.LocalName == "header" || x.Name.LocalName == "footer").Select(y => y.Value));
var mainPart = doc.Content.Cast<IContent>();
var mainText = String.Join("\r\n", mainPart.Select(x => x.Node.InnerText));
sb.Append(stylesText + "\r\n");
sb.Append(mainText);
}
return sb.ToString();
}
但是,Visual Studio 告诉我:
错误 CS0012:在未引用的程序集中定义了类型“XmlNode”。您必须添加对程序集“System.Xml,Version=1.0.5000.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用。(CS0012) (ScriptTablerV0)
'XmlDocument' 类型也是如此。
作为一种解决方案,它建议导入 System.Xml 引用,但这不会改变任何东西并且错误仍然存在。
有什么我应该看或尝试的吗?任何帮助将不胜感激。
编辑:我尝试使用 System.Xml 程序集中的其他方法/类,并且它们没有问题,但 VS 仍然无法识别样式和节点。