2014-02-27 5 views
1

docx 문서를 구문 분석하고 싶습니다. 이 코드를 사용하여 단락을 가져 와서 텍스트를 표시합니다.Docx4j : 단락의 스타일 이름을 가져옵니다.

final String XPATH_TO_SELECT_TEXT_NODES = "//w:p"; 
    final List<Object> jaxbNodes = documentPart.getJAXBNodesViaXPath(XPATH_TO_SELECT_TEXT_NODES, true); 

    for (Object jaxbNode : jaxbNodes){ 
      final String paragraphString = jaxbNode.toString(); 
      System.out.println("[Start]: " + paragraphString); 
    }  

그러나 현재 단락의 스타일 이름도 알아야합니다. 내가 어떻게 할 수 있니?

도움 주셔서 감사합니다. 명시 적 스타일이없는 경우 (스타일 부분에 지정된대로) 1ceman

답변

1
PPr pPr = ((P)XmlUtils.unwrap(jaxbNode)).getPPr(); 
if (pPr != null && pPr.getPStyle() != null) { 
    String style = pPr.getPStyle().getVal()); 
    // etc 

, 그것은 기본 단락 스타일을 사용합니다.

+0

귀하의 솔루션에 감사드립니다. 그것은 위대한 작품. 위의 코드와 'Ppr pPr = ((P) jaxbNode) .getPPr()'의 차이점은 무엇입니까? – Iceman

+0

아마도 그렇지 않습니다. P는 절대로 JAXBElement로 래핑되지 않아야합니다. ObjectFactory의 createP는 단지 P 객체를 생성한다. – JasonPlutext

관련 문제