当前位置: 首页 > 知识库问答 >
问题:

为什么document.getContent()为空?

章子航
2023-03-14

我的问题是无法使用document.getContent()document.getContents()获取文本字段。我尝试使用XPath来选择对象,但没有成功。

这是我的代码:

public static void main(final String[] args) throws Docx4JException, JAXBException
{
    final String filePath = "./files/GetTextfield.docx";
    
    final WordprocessingMLPackage word = Docx4J.load(new File(filePath));
    final MainDocumentPart document = word.getMainDocumentPart();
    
    final String xpathExpr = "//wps:txbx/w:txbxContent/w:p/w:r"; 
    final List<Object> nodes = document.getJAXBNodesViaXPath(xpathExpr, false);
    
    addPageBreak(document);
    
    final XmlUtils xmlUtils = new XmlUtils();
    final Object field = nodes.get(0);
    final Object copy = xmlUtils.deepCopy(field);
    
    document.addObject(copy);
    
    System.out.println(document.getXML());
    
    // TODO Before MailMerge need to copy template content to all pages
}

我重新提出这个问题是因为旧的问题有点让人困惑,我想。这是旧的

XML形式的我的文档(Document.getXML())

<w:document mc:Ignorable="w14 w15 wp14" xmlns:cppr="http://schemas.microsoft.com/office/2006/coverPageProps" xmlns:dgm1611="http://schemas.microsoft.com/office/drawing/2016/11/diagram" xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:wp15="http://schemas.microsoft.com/office/word/2012/wordprocessingDrawing" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture" xmlns:a1611="http://schemas.microsoft.com/office/drawing/2016/11/main" xmlns:a16svg="http://schemas.microsoft.com/office/drawing/2016/SVG/main" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:pvml="urn:schemas-microsoft-com:office:powerpoint" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:dgm1612="http://schemas.microsoft.com/office/drawing/2016/12/diagram" xmlns:comp="http://schemas.openxmlformats.org/drawingml/2006/compatibility" xmlns:xvml="urn:schemas-microsoft-com:office:excel" xmlns:c173="http://schemas.microsoft.com/office/drawing/2017/03/chart" xmlns:anam3d="http://schemas.microsoft.com/office/drawing/2018/animation/model3d" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:adec="http://schemas.microsoft.com/office/drawing/2017/decorative" xmlns:oda="http://opendope.org/answers" xmlns:a18hc="http://schemas.microsoft.com/office/drawing/2018/hyperlinkcolor" xmlns:odc="http://opendope.org/conditions" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:cdr="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" xmlns:odi="http://opendope.org/components" xmlns:msink="http://schemas.microsoft.com/ink/2010/main" xmlns:cdr14="http://schemas.microsoft.com/office/drawing/2010/chartDrawing" xmlns:iact="http://schemas.microsoft.com/office/powerpoint/2014/inkAction" xmlns:an18="http://schemas.microsoft.com/office/drawing/2018/animation" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" xmlns:odq="http://opendope.org/questions" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:dsp="http://schemas.microsoft.com/office/drawing/2008/diagram" xmlns:odx="http://opendope.org/xpaths" xmlns:a15="http://schemas.microsoft.com/office/drawing/2012/main" xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main" xmlns:c15="http://schemas.microsoft.com/office/drawing/2012/chart" xmlns:a13cmd="http://schemas.microsoft.com/office/drawing/2013/main/command" xmlns:c14="http://schemas.microsoft.com/office/drawing/2007/8/2/chart" xmlns:a16="http://schemas.microsoft.com/office/drawing/2014/main" xmlns:odgm="http://opendope.org/SmartArt/DataHierarchy" xmlns:c16="http://schemas.microsoft.com/office/drawing/2014/chart" xmlns:dgm="http://schemas.openxmlformats.org/drawingml/2006/diagram" xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" xmlns:we="http://schemas.microsoft.com/office/webextensions/webextension/2010/11" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:ns39="http://www.w3.org/2003/InkML" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" xmlns:ns38="http://www.w3.org/1998/Math/MathML" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:dgm14="http://schemas.microsoft.com/office/drawing/2010/diagram" xmlns:c16ac="http://schemas.microsoft.com/office/drawing/2014/chart/ac" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography" xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:cs="http://schemas.microsoft.com/office/drawing/2012/chartStyle" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:pic14="http://schemas.microsoft.com/office/drawing/2010/picture" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:lc="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas" xmlns:wetp="http://schemas.microsoft.com/office/webextensions/taskpanes/2010/11">
    <w:body>
        <w:p w:rsidRPr="009670CB" w:rsidR="00CF457B" w:rsidP="009670CB" w:rsidRDefault="00BD5B37">
            <w:bookmarkStart w:name="_GoBack" w:id="0"/>
            <w:bookmarkEnd w:id="0"/>
            <w:r>
                <w:rPr>
                    <w:noProof/>
                </w:rPr>
                <mc:AlternateContent>
                    <mc:Choice Requires="wps">
                        <w:drawing>
                            <wp:anchor distT="45720" distB="45720" distL="114300" distR="114300" simplePos="false" relativeHeight="251659264" behindDoc="false" locked="false" layoutInCell="true" allowOverlap="true">
                                <wp:simplePos x="0" y="0"/>
                                <wp:positionH relativeFrom="column">
                                    <wp:posOffset>-256540</wp:posOffset>
                                </wp:positionH>
                                <wp:positionV relativeFrom="paragraph">
                                    <wp:posOffset>0</wp:posOffset>
                                </wp:positionV>
                                <wp:extent cx="2360930" cy="1404620"/>
                                <wp:effectExtent l="0" t="0" r="22860" b="11430"/>
                                <wp:wrapSquare wrapText="bothSides"/>
                                <wp:docPr id="217" name="Textfeld 2"/>
                                <wp:cNvGraphicFramePr>
                                    <a:graphicFrameLocks/>
                                </wp:cNvGraphicFramePr>
                                <a:graphic>
                                    <a:graphicData uri="http://schemas.microsoft.com/office/word/2010/wordprocessingShape">
                                        <wps:wsp>
                                            <wps:cNvSpPr txBox="true">
                                                <a:spLocks noChangeArrowheads="true"/>
                                            </wps:cNvSpPr>
                                            <wps:spPr bwMode="auto">
                                                <a:xfrm>
                                                    <a:off x="0" y="0"/>
                                                    <a:ext cx="2360930" cy="1404620"/>
                                                </a:xfrm>
                                                <a:prstGeom prst="rect">
                                                    <a:avLst/>
                                                </a:prstGeom>
                                                <a:solidFill>
                                                    <a:srgbClr val="FFFFFF"/>
                                                </a:solidFill>
                                                <a:ln w="9525">
                                                    <a:solidFill>
                                                        <a:srgbClr val="000000"/>
                                                    </a:solidFill>
                                                    <a:miter lim="800000"/>
                                                    <a:headEnd/>
                                                    <a:tailEnd/>
                                                </a:ln>
                                            </wps:spPr>
                                            <wps:txbx>
                                                <w:txbxContent>
                                                    <w:p w:rsidR="00BD5B37" w:rsidRDefault="00BD5B37">
                                                        <w:proofErr w:type="spellStart"/>
                                                        <w:r>
                                                            <w:t>GetThisContent</w:t>
                                                        </w:r>
                                                        <w:proofErr w:type="spellEnd"/>
                                                    </w:p>
                                                </w:txbxContent>
                                            </wps:txbx>
                                            <wps:bodyPr rot="0" vert="horz" wrap="square" lIns="91440" tIns="45720" rIns="91440" bIns="45720" anchor="t" anchorCtr="false">
                                                <a:spAutoFit/>
                                            </wps:bodyPr>
                                        </wps:wsp>
                                    </a:graphicData>
                                </a:graphic>
                                <wp14:sizeRelH relativeFrom="margin">
                                    <wp14:pctWidth>40000</wp14:pctWidth>
                                </wp14:sizeRelH>
                                <wp14:sizeRelV relativeFrom="margin">
                                    <wp14:pctHeight>20000</wp14:pctHeight>
                                </wp14:sizeRelV>
                            </wp:anchor>
                        </w:drawing>
                    </mc:Choice>
                    <mc:Fallback>
                        <w:pict>
                            <v:shapetype o:spt="202.0" path="m,l,21600r21600,l21600,xe" coordsize="21600,21600" id="_x0000_t202">
                                <v:stroke joinstyle="miter"/>
                                <v:path gradientshapeok="t" o:connecttype="rect"/>
                            </v:shapetype>
                            <v:shape o:gfxdata="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" type="#_x0000_t202" style="position:absolute;margin-left:-20.2pt;margin-top:0;width:185.9pt;height:110.6pt;z-index:251659264;visibility:visible;mso-wrap-style:square;mso-width-percent:400;mso-height-percent:200;mso-wrap-distance-left:9pt;mso-wrap-distance-top:3.6pt;mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:3.6pt;mso-position-horizontal:absolute;mso-position-horizontal-relative:text;mso-position-vertical:absolute;mso-position-vertical-relative:text;mso-width-percent:400;mso-height-percent:200;mso-width-relative:margin;mso-height-relative:margin;v-text-anchor:top" id="Textfeld 2" o:spid="_x0000_s1026">
                                <v:textbox style="mso-fit-shape-to-text:t">
                                    <w:txbxContent>
                                        <w:p w:rsidR="00BD5B37" w:rsidRDefault="00BD5B37">
                                            <w:proofErr w:type="spellStart"/>
                                            <w:r>
                                                <w:t>GetThisContent</w:t>
                                            </w:r>
                                            <w:proofErr w:type="spellEnd"/>
                                        </w:p>
                                    </w:txbxContent>
                                </v:textbox>
                                <w10:wrap type="square"/>
                            </v:shape>
                        </w:pict>
                    </mc:Fallback>
                </mc:AlternateContent>
            </w:r>
        </w:p>
        <w:sectPr w:rsidRPr="009670CB" w:rsidR="00CF457B" w:rsidSect="00BD5B37">
            <w:type w:val="continuous"/>
            <w:pgSz w:w="11907" w:h="8391" w:orient="landscape" w:code="11"/>
            <w:pgMar w:top="1418" w:right="1418" w:bottom="1418" w:left="1134" w:header="709" w:footer="709" w:gutter="0"/>
            <w:cols w:space="708"/>
            <w:docGrid w:linePitch="360"/>
        </w:sectPr>
    </w:body>
</w:document>

我需要选择文本字段,做一个邮件合并,我的计划将是复制和移动字段。如果有更好的方法,我愿意尝试一下:)

共有1个答案

封瑞
2023-03-14

可能是命名空间问题...txbx元素在xmlns:v=“urn:schemas-microsoft-com:vml”中,所以可能只需将其更改为:(我不知道在docx4j中如何声明名称空间)

//v:txbx/w:txbxContent/w:p/w:r

这将选择所有w:r的nut(实际的文本节点)。

 类似资料:
  • 我的问题是无法使用和获取文本字段。我尝试使用XPath来选择对象,但没有成功。 我重新提出这个问题是因为旧的问题有点让人困惑,我想。这是旧的 XML形式的我的文档(Document.getXML()) 我需要选择文本字段,做一个邮件合并,我的计划将是复制和移动字段。如果有更好的方法,我愿意尝试一下:)

  • 问题内容: 我有Ubuntu 10.10和apache2,php 5.3.3-1和mysql 5.1。 我正在通过URL向页面传递一些值。在该页面上,如果我这样做了,那么我会看到数组的内容。但是,如果我这样做数组是空的。任何想法为什么会这样? 问题答案: 也可以尝试检查php.ini中的“ request_order” 选项:

  • 正如您将看到的,当涉及到Java和JavaFX时,我是一个大傻瓜。我花了很多时间四处阅读(各种论坛帖子和tuts)并试图弄清楚我自己是从哪里得到这个问题的,但它已经到了我发帖从一个了解他们的业务的人那里得到反馈的地步。 在回复的时候,请你花点时间解释一下为什么有些东西不能工作,以及一些一般性的指示?这里是我到目前为止所拥有的(我的FXML和我的两个类)任何指针都将是美妙的!! 我的FXML; 现在

  • 问题内容: 在我的Web应用程序中,我在Apache Tomcat(TomEE)/7.0.37服务器上使用OpenJPA。我使用Netbeans自动生成类(“来自数据库的实体类…”和“来自实体类的会话Bean …”)。在SessionBean(例如UserFacade)上,我想获取EntityManager: 但是当我通过上述方式得到它时,我得到的是空值。当我通过: ecm不为空,还可以 我的pe

  • 我有以下测试WebAPI代码,我没有在生产中使用WebAPI,但我之所以这样做是因为我讨论了这个问题:WebAPI异步问题 不管怎样,下面是冒犯的WebAPI方法: 因此,我认为第二个异常是预期的,因为当完成时,它很可能位于另一个线程上,其中作为线程静态变量将不再解析为适当的值。现在,基于同步上下文,它实际上可以在await之后被强制返回到相同的线程,但我在测试中没有做任何花哨的事情。这只是对的简

  • 问题内容: 我正在运行,并且在.htaccess文件中执行了以下操作: 如果我在PHP文件中打印出变量,则会得到一个空数组。为什么我的环境变量没有出现在这里?为什么首先是空的? 我确实找到了变量,但是它出现在变量中。由于某种原因,它出现了两次。为什么是这样? 看来我可以使用来获得它,所以也许我应该只使用它。但是我仍然对造成这种情况的原因有些好奇。这是Windows问题吗?还是发生了什么事? 问题答