有人知道正确的命令/路径来获取 ident , shortTitle 还有一个字符串,以“ / ”开头(请注意,在某些情况下,该字符串的位置可能会发生变化)
我有这段代码,我提出字符串,但后来我没有 ident 和 shortTitle
$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
如果这可以在1个foreach中工作,那将是非常好的。.... <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> ...
亲切的问候
迪特
答案 0 :(得分:1)
如果您希望将它们作为一个循环中的节点,则必须将它们与“|”组合在一起标识符
//*[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)