1

C#でopenxmlを使用して段落に関連するタブの数を見つけるにはどうすればよいですか?

例えば:

     test paragraph1
              test paragraph2

最初の段落に1つのタブスペースがあり、2番目の段落に2つのタブスペースがあると想像してください。C#のOpen xmlでこのようなものを見つけたいのですが、どうすればよいですか?

この投稿は関連していますか?

c-sharp-tab-escape-character

エスケープシーケンス

4

1 に答える 1

0

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.
    }
}

お役に立てれば。

于 2013-01-28T16:31:39.837 に答える