我需要获得已分配标签值(COntentControl)的段落样式。 现在我已将contentControl(即)Tag值添加到单词中的段落,我可以获取已为其分配标记值的相应段落的文本,
case "DocumentFormat.OpenXml.Wordprocessing.SdtBlock":
SdtBlock p1 = (SdtBlock)DocElement;
string content1 = p1.InnerText;
if (!string.IsNullOrEmpty(content1))
dt.Rows.Add(content1);
break;
并在表中添加para,但我需要获得para的样式,当我以XML格式保存word文档时,我得到这些代码
<w:sdtContent>
<w:p w:rsidR="00D57D79" w:rsidRDefault="00176023">
<w:pPr>
<w:pStyle w:val="Heading1"/>
<w:rPr>
<w:rFonts w:eastAsia="Times New Roman"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:lang w:val="en-US"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:eastAsia="Times New Roman"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:lang w:val="en-US"/>
</w:rPr>
<w:t>Use Case Model</w:t>
</w:r>
</w:p>
</w:sdtContent>
</w:sdt>
我需要获得该段落的相应风格。如何获得这些风格?
答案 0 :(得分:0)
case "DocumentFormat.OpenXml.Wordprocessing.SdtBlock":
SdtBlock p1 = (SdtBlock)DocElement;
content1 = p1.InnerText;
IEnumerable<Paragraph> pp = p1.Descendants<Paragraph>();
foreach (Paragraph para in pp)
{
style= GetParagraphStyleId(para);
}
其中 GetParagraphStyleId(para)有
public string GetParagraphStyleId(Paragraph p)
{
string ParaStyleIdValue = string.Empty;
if (p.ParagraphProperties != null)
{
if (p.ParagraphProperties.ParagraphStyleId != null)
{
if (p.ParagraphProperties.ParagraphStyleId.Val != null)
{
ParaStyleIdValue = p.ParagraphProperties.ParagraphStyleId.Val.Value;
}
}
}
return ParaStyleIdValue;
}
Using this i get the Style of the paragraph from sdtContent.