0

我正在使用 XPath 表达式处理文字处理 ML(Office Word 文件)。由于放置在文档中的书签的性质,书签的开始可能在其他地方,然后是结束。所以他们并没有真正遵循任何格式良好的 XML 层次结构,所以这就是为这些书签内容编写 XPath 表达式以从 document.xml 文件中读取的挑战。

有人可以帮助如何使用 XPath 处理这种不寻常的 XML 解析吗?例如下表:

    <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="003A3B76">
        <w:bookmarkStart w:id="3" w:name="Table3"/>
    </w:p>
    <w:tbl>
        <w:tblPr>
            <w:tblStyle w:val="TableGrid"/>
            <w:tblW w:w="0" w:type="auto"/>
            <w:tblLook w:val="04A0" w:firstRow="1" w:lastRow="0" w:firstColumn="1" w:lastColumn="0" w:noHBand="0" w:noVBand="1"/>
        </w:tblPr>
        <w:tblGrid>
            <w:gridCol w:w="533"/>
            <w:gridCol w:w="2148"/>
            <w:gridCol w:w="986"/>
            <w:gridCol w:w="865"/>
            <w:gridCol w:w="4818"/>
        </w:tblGrid>
        <w:tr w:rsidR="003A3B76" w:rsidTr="005666D2">
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="533" w:type="dxa"/>
                    <w:shd w:val="clear" w:color="auto" w:fill="BFBFBF" w:themeFill="background1" w:themeFillShade="BF"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>#</w:t>
                    </w:r>
                </w:p>
            </w:tc>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="2148" w:type="dxa"/>
                    <w:shd w:val="clear" w:color="auto" w:fill="BFBFBF" w:themeFill="background1" w:themeFillShade="BF"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>Name</w:t>
                    </w:r>
                </w:p>
            </w:tc>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="986" w:type="dxa"/>
                    <w:shd w:val="clear" w:color="auto" w:fill="BFBFBF" w:themeFill="background1" w:themeFillShade="BF"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>Age</w:t>
                    </w:r>
                </w:p>
            </w:tc>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="865" w:type="dxa"/>
                    <w:shd w:val="clear" w:color="auto" w:fill="BFBFBF" w:themeFill="background1" w:themeFillShade="BF"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>Weight</w:t>
                    </w:r>
                </w:p>
            </w:tc>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="4818" w:type="dxa"/>
                    <w:shd w:val="clear" w:color="auto" w:fill="BFBFBF" w:themeFill="background1" w:themeFillShade="BF"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>Will</w:t>
                    </w:r>
                </w:p>
            </w:tc>
        </w:tr>
        <w:tr w:rsidR="003A3B76" w:rsidTr="005666D2">
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="533" w:type="dxa"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>2</w:t>
                    </w:r>
                </w:p>
            </w:tc>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="2148" w:type="dxa"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>Nagraj</w:t>
                    </w:r>
                </w:p>
            </w:tc>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="986" w:type="dxa"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>38</w:t>
                    </w:r>
                </w:p>
            </w:tc>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="865" w:type="dxa"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>150lb</w:t>
                    </w:r>
                </w:p>
            </w:tc>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:w="4818" w:type="dxa"/>
                </w:tcPr>
                <w:p w:rsidR="003A3B76" w:rsidRDefault="003A3B76" w:rsidP="005666D2">
                    <w:r>
                        <w:t>Be real</w:t>
                    </w:r>
                </w:p>
            </w:tc>
        </w:tr>
        <w:bookmarkEnd w:id="3"/>
    </w:tbl>

bookmarkEnd 在 table 内结束,但不在<tr>or中<tc>。并且书签开始在表格之外启动。这就是我从我的标签中得到的场景。请帮助解决这个问题。对此编写 Xpath 表达式变得越来越复杂,也欢迎任何有关 XSLT 的帮助。

4

0 回答 0