XPATH有助于选择元素(XPATH help selecting elements)

编程入门 行业动态 更新时间:2024-10-18 20:30:23
XPATH有助于选择元素(XPATH help selecting elements)

所以我有这个XML数据库

<uni> <!-- SUBJECTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <subjects> <subject code="XYZ111"> <title>Java for housewives</title> <credits>6</credits> <laboratories> <laboratory num="lab1"> <date>12-MAR-2009</date> <topics> <topic>variables</topic> <topic>constants</topic> </topics> <description>Declarations of variables and constants</description> </laboratory> <laboratory num="lab2"> <date>12-APR-2009</date> <topics> <topic>expressions</topic> </topics> <description>Types of expressions</description> </laboratory> <laboratory num="lab3"> <date>12-MAY-2009</date> <topics> <topic>conditionals</topic> <topic>loops</topic> </topics> <description>Control statements</description> </laboratory> </laboratories> </subject> <subject code="XYZ235"> <title>Database systems for politicians</title> <credits>6</credits> <laboratories> <laboratory num="lab1"> <date>10-JAN-2001</date> <topics> <topic>classes</topic> <topic>associations</topic> <topic>properties</topic> </topics> <description>Conceptual modeling</description> </laboratory> <laboratory num="lab2"> <date>10-JAN-2002</date> <topics> <topic>relational tables</topic> <topic>primary keys</topic> <topic>foreign keys</topic> </topics> <description>Relational data model</description> </laboratory> </laboratories> </subject> <subject code="XYZ987"> <title>Ethics for car dealers</title> <credits>6</credits> </subject> <subject code="XYZ101"> <title>Programming for mathematicians</title> <credits>6000</credits> <laboratories> <laboratory num="lab1"> <date>10-JAN-2002</date> <topics> <topic>abstract algebra</topic> </topics> <description>Hilbert spaces of programming languages</description> </laboratory> <laboratory num="lab2"> <date>13-MAY-2002</date> <topics> <topic>topology</topic> </topics> <description>Theory of homothopy</description> </laboratory> </laboratories> </subject> <subject code="ZZZ777"> <title>Cooking</title> <credits>5</credits> <laboratories/> </subject> <subject code="ZZZ778"> <title>Dancing</title> <credits>5</credits> <laboratories/> </subject> <subject code="ABC123"> <title>General theory of everything</title> <credits>4</credits> <laboratories> <laboratory num="lab1"> <date>20-JAN-2012</date> <topics> <topic>space</topic> </topics> <description>Nothing really interesting</description> </laboratory> </laboratories> </subject> </subjects> <!-- ENROLMENTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <enrolments> <enrolment snum="d2345" code="ABC123"> <date>12-DEC-2011</date> <status>dropped</status> <time>20</time> <IP>16.23.234.002</IP> <lab-enrolments> <laboratory num="lab1"/> </lab-enrolments> </enrolment> <enrolment snum="d2346" code="ABC123"> <date>12-DEC-2011</date> <status>dropped</status> <time>2</time> <IP>16.23.234.003</IP> <lab-enrolments> <laboratory num="lab1"/> </lab-enrolments> </enrolment> <enrolment snum="d2347" code="ABC123"> <date>12-DEC-2011</date> <status>dropped</status> <time>10</time> <IP>16.23.234.003</IP> </enrolment> <enrolment snum="d2348" code="ABC123"> <date>12-DEC-2011</date> <status>dropped</status> <time>20</time> <IP>16.23.234.025</IP> </enrolment> <enrolment snum="d6767" code="ABC123"> <date>13-DEC-2011</date> <status>valid</status> <time>5</time> <IP>16.23.234.202</IP> </enrolment> <enrolment snum="d2345" code="ZZZ778"> <date>14-DEC-2007</date> <status>valid</status> <time>10</time> <IP>16.23.234.402</IP> </enrolment> <enrolment snum="d6767" code="ZZZ777"> <date>12-SEP-2005</date> <status>valid</status> <time>15</time> <IP>16.23.234.202</IP> </enrolment> <enrolment snum="d2330" code="XYZ101"> <date>01-JAN-2002</date> <status>valid</status> <time>3</time> <IP>16.23.234.203</IP> <lab-enrolments> <laboratory num="lab1"/> <laboratory num="lab2"/> </lab-enrolments> </enrolment> <enrolment snum="d2349" code="XYZ101"> <date>01-JAN-2002</date> <status>valid</status> <time>7</time> <IP>16.23.234.202</IP> <lab-enrolments> <laboratory num="lab1"/> <laboratory num="lab2"/> </lab-enrolments> </enrolment> <enrolment snum="d2341" code="XYZ101"> <date>01-JAN-2002</date> <status>valid</status> <time>6</time> <IP>16.23.234.201</IP> <lab-enrolments> <laboratory num="lab1"/> </lab-enrolments> </enrolment> <enrolment snum="d6767" code="XYZ101"> <date>01-JAN-2002</date> <status>provisional</status> <time>5</time> <IP>16.23.234.002</IP> </enrolment> <enrolment snum="d6767" code="XYZ235"> <date>31-DEC-2000</date> <status>provisional</status> <time>30</time> <IP>16.23.234.602</IP> </enrolment> </enrolments> </uni>

我正试图找到包含抽象代数实验室的主题标题。 到目前为止,这是我能想出的最好的答案,但它找不到匹配:/ / //uni/subjects/subject/laboratories/laboratory/topics/topic[text()="abstract algebra"]

So I have this XML database

<uni> <!-- SUBJECTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <subjects> <subject code="XYZ111"> <title>Java for housewives</title> <credits>6</credits> <laboratories> <laboratory num="lab1"> <date>12-MAR-2009</date> <topics> <topic>variables</topic> <topic>constants</topic> </topics> <description>Declarations of variables and constants</description> </laboratory> <laboratory num="lab2"> <date>12-APR-2009</date> <topics> <topic>expressions</topic> </topics> <description>Types of expressions</description> </laboratory> <laboratory num="lab3"> <date>12-MAY-2009</date> <topics> <topic>conditionals</topic> <topic>loops</topic> </topics> <description>Control statements</description> </laboratory> </laboratories> </subject> <subject code="XYZ235"> <title>Database systems for politicians</title> <credits>6</credits> <laboratories> <laboratory num="lab1"> <date>10-JAN-2001</date> <topics> <topic>classes</topic> <topic>associations</topic> <topic>properties</topic> </topics> <description>Conceptual modeling</description> </laboratory> <laboratory num="lab2"> <date>10-JAN-2002</date> <topics> <topic>relational tables</topic> <topic>primary keys</topic> <topic>foreign keys</topic> </topics> <description>Relational data model</description> </laboratory> </laboratories> </subject> <subject code="XYZ987"> <title>Ethics for car dealers</title> <credits>6</credits> </subject> <subject code="XYZ101"> <title>Programming for mathematicians</title> <credits>6000</credits> <laboratories> <laboratory num="lab1"> <date>10-JAN-2002</date> <topics> <topic>abstract algebra</topic> </topics> <description>Hilbert spaces of programming languages</description> </laboratory> <laboratory num="lab2"> <date>13-MAY-2002</date> <topics> <topic>topology</topic> </topics> <description>Theory of homothopy</description> </laboratory> </laboratories> </subject> <subject code="ZZZ777"> <title>Cooking</title> <credits>5</credits> <laboratories/> </subject> <subject code="ZZZ778"> <title>Dancing</title> <credits>5</credits> <laboratories/> </subject> <subject code="ABC123"> <title>General theory of everything</title> <credits>4</credits> <laboratories> <laboratory num="lab1"> <date>20-JAN-2012</date> <topics> <topic>space</topic> </topics> <description>Nothing really interesting</description> </laboratory> </laboratories> </subject> </subjects> <!-- ENROLMENTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <enrolments> <enrolment snum="d2345" code="ABC123"> <date>12-DEC-2011</date> <status>dropped</status> <time>20</time> <IP>16.23.234.002</IP> <lab-enrolments> <laboratory num="lab1"/> </lab-enrolments> </enrolment> <enrolment snum="d2346" code="ABC123"> <date>12-DEC-2011</date> <status>dropped</status> <time>2</time> <IP>16.23.234.003</IP> <lab-enrolments> <laboratory num="lab1"/> </lab-enrolments> </enrolment> <enrolment snum="d2347" code="ABC123"> <date>12-DEC-2011</date> <status>dropped</status> <time>10</time> <IP>16.23.234.003</IP> </enrolment> <enrolment snum="d2348" code="ABC123"> <date>12-DEC-2011</date> <status>dropped</status> <time>20</time> <IP>16.23.234.025</IP> </enrolment> <enrolment snum="d6767" code="ABC123"> <date>13-DEC-2011</date> <status>valid</status> <time>5</time> <IP>16.23.234.202</IP> </enrolment> <enrolment snum="d2345" code="ZZZ778"> <date>14-DEC-2007</date> <status>valid</status> <time>10</time> <IP>16.23.234.402</IP> </enrolment> <enrolment snum="d6767" code="ZZZ777"> <date>12-SEP-2005</date> <status>valid</status> <time>15</time> <IP>16.23.234.202</IP> </enrolment> <enrolment snum="d2330" code="XYZ101"> <date>01-JAN-2002</date> <status>valid</status> <time>3</time> <IP>16.23.234.203</IP> <lab-enrolments> <laboratory num="lab1"/> <laboratory num="lab2"/> </lab-enrolments> </enrolment> <enrolment snum="d2349" code="XYZ101"> <date>01-JAN-2002</date> <status>valid</status> <time>7</time> <IP>16.23.234.202</IP> <lab-enrolments> <laboratory num="lab1"/> <laboratory num="lab2"/> </lab-enrolments> </enrolment> <enrolment snum="d2341" code="XYZ101"> <date>01-JAN-2002</date> <status>valid</status> <time>6</time> <IP>16.23.234.201</IP> <lab-enrolments> <laboratory num="lab1"/> </lab-enrolments> </enrolment> <enrolment snum="d6767" code="XYZ101"> <date>01-JAN-2002</date> <status>provisional</status> <time>5</time> <IP>16.23.234.002</IP> </enrolment> <enrolment snum="d6767" code="XYZ235"> <date>31-DEC-2000</date> <status>provisional</status> <time>30</time> <IP>16.23.234.602</IP> </enrolment> </enrolments> </uni>

And I'm trying to find the titles of subjects that include laboratories on abstract algebra. So far this is the best answer I could come up with, but it doesn't find a match :/ //uni/subjects/subject/laboratories/laboratory/topics/topic[text()="abstract algebra"]

最满意答案

你可以尝试这种方式:

//subject[laboratories/laboratory/topics/topic="abstract algebra"]/title

You can try this way :

//subject[laboratories/laboratory/topics/topic="abstract algebra"]/title

更多推荐

本文发布于:2023-04-29 02:12:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1334513.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:元素   XPATH   elements   selecting

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!