如何在 c# 中使用 openxml 找到与段落相关的选项卡数?
例如:
test paragraph1
test paragraph2
想象第一段有一个制表符空间,第二段有两个制表符空间。我想在 c# 中使用 open xml 找到类似的东西,但是如何?
这个帖子有关系吗?
如何在 c# 中使用 openxml 找到与段落相关的选项卡数?
例如:
test paragraph1
test paragraph2
想象第一段有一个制表符空间,第二段有两个制表符空间。我想在 c# 中使用 open xml 找到类似的东西,但是如何?
这个帖子有关系吗?
Open XML 将使用闲置的 xml 在段落中包含选项卡
<w:r>
<w:tab />
<w:t>Paragraph one</w:t>
</w:r>
以下代码将满足您在 C# 中的要求:
XNamespace W = @"http://schemas.openxmlformats.org/wordprocessingml/2006/main";
using (
WordprocessingDocument document =
WordprocessingDocument.Open(@"YourDocPath\tabs_in_text.docx", true))
{
var body = document.MainDocumentPart.Document.GetFirstChild<Body>();
var paras = body.Elements<Paragraph>();
foreach (var para in paras)
{
//Ver. 1
//var xml = XElement.Parse(para.OuterXml);
// var count = xml.Descendants(W + "tab").Count();
//Ver. 2
var tabElements = para.Descendants<TabChar>();
var count = tabElements.Count(); // Collect the counts into array or dictionary for your usage.
}
}
希望这可以帮助。