2012-08-13 21 views
5

Usar Word He creado un Docx con el estándar normal.dot como una prueba. Hola nivel de complejidad a nivel mundial.Open XML: Word - Obtener todos los párrafos marcados como estilo "Título1"

Deseo obtener all the paragraphs con el estilo "Heading1" style en Word.

Puedo obtener todos los párrafos, pero no sé cómo filtrar a Heading1.

using (var doc = WordprocessingDocument.Open(documentFileName, false)) 
{ 
    paragraphs = doc.MainDocumentPart.Document.Body 
        .OfType<Paragraph>().ToList(); 
} 

Respuesta

8
[Test] 
    public void FindHeadingParagraphs() 
    { 

     var paragraphs = new List<Paragraph>(); 

     // Open the file read-only since we don't need to change it. 
     using (var wordprocessingDocument = WordprocessingDocument.Open(documentFileName, false)) 
     { 
      paragraphs = wordprocessingDocument.MainDocumentPart.Document.Body 
       .OfType<Paragraph>() 
       .Where(p => p.ParagraphProperties != null && 
          p.ParagraphProperties.ParagraphStyleId != null && 
          p.ParagraphProperties.ParagraphStyleId.Val.Value.Contains("Heading1")).ToList(); 
     } 
    } 
+0

consigo excepción nula, sólo se añade:! = Null && p.ParagraphProperties.ParagraphStyleId – Kiquenet

Cuestiones relacionadas