我需要从以下代码中提取某些文本元素。
<div class="inhalt-links">
<h2>
Deutsche Verkehrswacht
<br>
Verkehrswacht Dortmund e. V.
<br>
</h2>
<h3>
Standnummer:
<span style="font-weight: normal;">4.E08</span>
</h3>
<div class="clear"></div>
<br>
Benediktinerstraße 82
<br>
44287 Dortmund
<br>
Deutschland
<br>
<br>
Tel.:+49 231 447687
<br>
Fax:+49 231 447136
<br>
E-Mail:info@verkehrswacht-dortmund.de
<br>
<a href="http://www.verkehrswacht-dortmund.de" class="url" target="_blank">www.verkehrswacht-dortmund.de</a>
<br>
<div class="social"></div>
<br>
</div>
为了提取电话:+49 231 447687,我可以使用div[@class='inhalt-links']/text()[4]
。而对于其他细节,如传真,电子邮件,网站,我只需要更改text()元素的位置编号。但是,这些文本的位置有时会有不同的顺序,如下面的代码所示:
<div class="inhalt-links">
<h2>
DEW21
<br>
</h2>
<h3>
Standnummer:
<span style="font-weight: normal;">4.B56</span>
</h3>
<div class="clear"></div>
<br>
Günter-Samtlebe-Platz 1
<br>
44135 Dortmund
<br>
Postfach:104141
<br>
44041 Dortmund
<br>
Deutschland
<br>
<br>
Tel.:+49 231 544-0
<br>
Fax:+49 231 544-1130
<br>
E-Mail:vertrieb@dew21.de
<br>
<a href="http://www.dew21.de" class="url" target="_blank">www.dew21.de</a>
<br>
<div class="social"></div>
<br>
</div>
xpath div[@class='inhalt-links']/text()[4]
将选择文字“44041 Dortmund”而不是电话:+49 231 544-0。是否有像"div[@class='inhalt-links']/text[starts with "Tel.:"]"
这样的xpath来选择Tel.:
元素?
答案 0 :(得分:1)
&#34;是否有像
Sub GetContentCallback(control As IRibbonControl, _ ByRef XMLString) ' Callback get the selected datbases Dim lngDummy As Long Dim strDummy As String Dim strContent As String strDummy = "<menu xmlns=""http://schemas.microsoft" strDummy = strDummy & ".com/office/2006/01/customui"">" For lngDummy = 0 To 5 strContent = strContent & _ "<checkBox id=""MyDynaCheckbox" & lngDummy & _ """ label =""Dynamic Item" & _ lngDummy & """/>" Next strDummy = strDummy & strContent & " </menu>" XMLString = strDummy End Sub
这样的xpath来选择"//div[@class='inhalt-links']/text[starts with "Tel.:"]"
元素?&#34;
当然,请尝试这种方式:
Tel.:
XPath返回文本节点 - 而不是元素 - 在删除前导和尾随空格*之后,以关键字//div[@class='inhalt-links']/text()[starts-with(normalize-space(), 'Tel.:')]
开头。
*)参考Tel.:
正在做的更精确:
normalize-space()
函数从字符串中去除前导和尾随空格,用单个空格替换空白字符序列,并返回结果字符串。 [Mozilla Developer Network]