Nokogiri和XML - 获取包含特定文本的“tr”XML

时间:2016-01-08 15:56:25

标签: ruby xml nokogiri

以下是我想要抓住的word文档的一部分:

        <w:tr>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:type="dxa" w:w="9035"/>
                    <w:tcBorders>
                        <w:top w:color="0A57A4" w:space="0" w:sz="6" w:val="single"/>
                    </w:tcBorders>
                    <w:vAlign w:val="center"/>
                </w:tcPr>
                <w:p>
                    <w:pPr>
                        <w:jc w:val="left"/>
                    </w:pPr>
                    <w:r>
                        <w:t>#Finding#</w:t>
                    </w:r>
                    <w:bookmarkStart w:id="49" w:name="_GoBack"/>
                    <w:bookmarkEnd w:id="49"/>
                </w:p>
            </w:tc>
            <w:tc>
                <w:tcPr>
                    <w:tcW w:type="dxa" w:w="1705"/>
                    <w:tcBorders>
                        <w:top w:color="0A57A4" w:space="0" w:sz="6" w:val="single"/>
                    </w:tcBorders>
                    <w:vAlign w:val="center"/>
                </w:tcPr>
                <w:p>
                    <w:r>
                        <w:rPr>
                            <w:noProof/>
                        </w:rPr>
                        <w:drawing>
                            <wp:inline distB="0" distL="0" distR="0" distT="0">
                                <wp:extent cx="292608" cy="292608"/>
                                <wp:effectExtent b="0" l="0" r="0" t="0"/>
                                <wp:docPr id="924" name="Picture 924"/>
                                <wp:cNvGraphicFramePr>
                                    <a:graphicFrameLocks noChangeAspect="1" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>
                                </wp:cNvGraphicFramePr>
                                <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
                                    <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
                                        <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
                                            <pic:nvPicPr>
                                                <pic:cNvPr id="0" name="S-sm.png"/>
                                                <pic:cNvPicPr/>
                                            </pic:nvPicPr>
                                            <pic:blipFill>
                                                <a:blip cstate="print" r:embed="rId20">
                                                    <a:extLst>
                                                        <a:ext uri="{28A0092B-C50C-407E-A947-70E740481C1C}">
                                                            <a14:useLocalDpi val="0" xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main"/>
                                                        </a:ext>
                                                    </a:extLst>
                                                </a:blip>
                                                <a:stretch>
                                                    <a:fillRect/>
                                                </a:stretch>
                                            </pic:blipFill>
                                            <pic:spPr>
                                                <a:xfrm>
                                                    <a:off x="0" y="0"/>
                                                    <a:ext cx="292608" cy="292608"/>
                                                </a:xfrm>
                                                <a:prstGeom prst="rect">
                                                    <a:avLst/>
                                                </a:prstGeom>
                                            </pic:spPr>
                                        </pic:pic>
                                    </a:graphicData>
                                </a:graphic>
                            </wp:inline>
                        </w:drawing>
                    </w:r>
                </w:p>
            </w:tc>
        </w:tr>

有没有办法让nokogiri抓住整个<w:tr>一直到</w:tr>(结尾)“#Findding#”存在?就像它搜索所有“trs”中包含#Fitding#的文本并抓住整个tr元素一样?我是否必须遍历整个文档中的每个<w:tr>标记,看看它是否包含#Findding#?

1 个答案:

答案 0 :(得分:1)

  

有没有办法让nokogiri抓住整个class REGION(models.Model): name = models.CharField(max_length=50) def __unicode__(self): return u'%s' % (self.name) class CITY(models.Model): name = models.CharField(max_length=50) reg = models.ForeignKey("REGION") def __unicode__(self): return u'%s' % (self.name) 一直到<w:tr>存在的</w:tr>(结尾)?

的XPath

"#Finding#"

简单的英语&#34;任何//w:tr[.//w:t[contains(., '#Finding#')]] <w:tr>包含<w:t>&#34;

注意: