簡體   English   中英

我在XPath中找不到正確的路徑

[英]I can't get the right path in XPath

是否有人知道正確的命令/路徑來獲取identshortTitle和以“ / ”開頭的字符串 (請注意,在某些情況下該字符串的位置可能會發生變化)

我在呈現字符串的地方有這段代碼,但是那時我沒有identshortTitle


$result = $xpaths->xpath("//*[ident = '$page']/moduleConfiguration/config//string[starts-with(.,'/')]");
foreach ($result as $item) {

echo item

 };

完整路徑是

/org.olat.course.Structure/rootNode/children/*[type = 'st' or type = 'sp' or type = 'bc']/moduleConfiguration/config/entry/string

 .... <org.olat.course.nodes.STCourseNode> <ident>81473730700165</ident> <parent class="org.olat.course.nodes.STCourseNode" reference="../../.."/> <type>st</type> <shortTitle>General Information</shortTitle> <longTitle/> <learningObjectives/> <displayOption>content</displayOption> <moduleConfiguration> <config> <entry> <string>allowRelativeLinks</string> <string>false</string> </entry> <entry> <string>file</string> <string>/kgalgemeneinformatie.html</string> <--- </entry> <entry> <string>configversion</string> <int>3</int> </entry> <entry> <string>display</string> <string>file</string> </entry> </config> </moduleConfiguration> <noAccessExplanation></noAccessExplanation> <preConditionVisibility></preConditionVisibility> <preConditionAccess></preConditionAccess> <scoreCalculator></scoreCalculator> </org.olat.course.nodes.STCourseNode> ... 

如果可以在1 foreach中工作,那就太好了。

親切的問候

迪特爾

如果要將它們作為一個循環的節點,則必須將它們與'|'組合在一起 標識符:

//*[ident = '$page']/moduleConfiguration/config//string[starts-with(.,'/')]|//*[ident = '$page']/shortTitle|//*[ident = '$page']/ident

或者,您可以使用連接功能將它們全部分組到一個節點中:

concat(//*[ident = '$page']/moduleConfiguration/config//string[starts-with(.,'/')], //*[ident = '$page']/shortTitle, //*[ident = '$page']/ident)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM