I've been searching for solution for a long time with no luck. I'm using this code to extract text from a .odt file:
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();
}
However, Visual Studio is telling me:
Error CS0012: The type 'XmlNode' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Xml, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. (CS0012) (ScriptTablerV0)
And the same thing for type 'XmlDocument'.
As a solution it proposes to import the System.Xml reference, but this doesn't change anything and the errors persist.
Is there anything i should look at or try? Any help would be greatly appreciated.
EDIT: I've tried using other methods/classes from the System.Xml assembly and they've worked with no problems, but VS still doesn't recognise Styles and Node.