Java Docx4j:获取段落的样式名
我想解析一个docx文档。我使用此代码获取段落并显示文本:Java Docx4j:获取段落的样式名,java,docx,docx4j,Java,Docx,Docx4j,我想解析一个docx文档。我使用此代码获取段落并显示文本: 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){ fina
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);
}
最终字符串XPATH\u TO\u SELECT\u TEXT\u NODES=“//w:p”;
最终列表jaxbNodes=documentPart.getjaxbnodesviapath(XPATH\u TO\u SELECT\u TEXT\u节点,true);
for(对象jaxbNode:jaxbNodes){
最后一个字符串paragraphString=jaxbNode.toString();
System.out.println(“[Start]:”+段落字符串);
}
但我还需要知道当前段落的样式名。我该怎么做
谢谢你的帮助。
1人
如果没有明确的样式,则使用默认段落样式(在样式部分中指定)。谢谢您的解决方案。它工作得很好。上面的代码与“Ppr-Ppr=((P)jaxbNode).getPPr()之间有区别吗?可能没有。P不应该被包裹在一个带子里;ObjectFactory的createP只创建一个裸P对象。
PPr pPr = ((P) XmlUtils.unwrap(jaxbNode)).getPPr();
if (pPr != null) {
PPrBase.PStyle pStyle = pPr.getPStyle();
if (pStyle != null) {
String style = pStyle.getVal();
}
}