<li><strong>Movie Title:</strong> Training Day</li>
如何抓取此li标签中的文字内容; &#34;培训日&#34;?
所以我需要说“如果强标签有电影标题&#39;在其中,返回&#39;训练日&#39;。
我已尝试使用&#34;以下兄弟&#34;,但似乎无法做到这一点。
另一次尝试是
//li/text()[preceding::strong[contains(text(),'Movie Title')]]
但是这会返回所有文本,而不仅仅是li类中的内容。
答案 0 :(得分:2)
实际上//li/text()
应该返回“训练日”,而//li//text()
- “训练日”和“电影标题:”
您可以尝试更具体的XPath
//li[starts-with(., "Movie Title:")]//text()[not(parent::strong)]
仅获得“培训日”
答案 1 :(得分:0)
如何抓取此li标签中的文字内容; “训练日”?
所以我需要说'如果强标签中有'电影标题',请返回'训练日'。
以下XPath表达式在strong-element后面选择所有 li-element的文本节点,该值包含字符串'Movie Title'。
//li[contains(strong,'Movie Title')]/strong/following-sibling::text()
在您的示例XML中,这会导致“培训日” 但是如果遵循更多的文本节点,则必须将表达式限制为第一个文本节点,如此
//li[contains(strong,'Movie Title')]/strong/following-sibling::text()[1]