我正在尝试使用Open XML读取word文档。 我正在寻找文档中的关键标签,以便识别需要从文档中获取的值。
我遍历每个段落,然后遍历文档中的每个段落以找到这些段落。 但是,似乎拼写和语法检查引起了问题,将文档中的“游程”与“ ProofError”元素识别出的任何错误分开,这使得很难正确地解析文档。
我试图删除所有ProofError元素并保存文档,但是它们似乎又回来了。 如果我在MS Word中手动运行拼写和语法检查,则没有问题,尽管这不切实际。
有人知道我可以解决这个问题的方法吗?
从文档中采样文本:
通信系统:UID 0,CW(0);频率:900 MHz;占空比:1:1 中:900MHz HSL使用的中参数:f = 900 MHz; σ= 0.979 S / m; εr= 40.68; ρ= 1000千克/立方米
用于浏览文档的代码
using (WordprocessingDocument wordDocument = WordprocessingDocument.Open(openFileDialog.FileName, false))
{
// start looking through the file here
// correct proof errors here
Body body = wordDocument.MainDocumentPart.Document.Body;
foreach (Paragraph p in body.OfType<Paragraph>())
{
p.GetType();
List<ProofError> errList = new List<ProofError>();
foreach (ProofError err in p.OfType<ProofError>())
{
errList.Add(err);
}
foreach (ProofError err in errList)
{
err.Remove();
}
}
wordDocument.Save();
}
上面的代码将从列表中删除任何ProofError元素,我希望这样做并保存它可以将所有类似的运行合并在一起,但是保存时会再次出现证明错误。
下面的屏幕截图应显示段落的子级。 链接到引发错误的示例文档-这些是由于语言不正确造成的,但是我无法控制即将出现的格式,并且还会引发其他与语言无关的错误。