我正在制作一个聊天机器人,我得到了以下 xml

<questions>
<topic value='age'>
    <phrase mood_modifier='10'>what's your age?</phrase>
    <phrase mood_modifier='-10'>I dislike you, but what's your age?</phrase>
</topic>
<topic value='name'>
    <phrase mood_modifier='10'>what's your name?</phrase>
    <phrase mood_modifier='-10'>what's your name, ugly?</phrase>
</topic>

首先,我检查所有短语并检查用户提交的短语是否与我在上面的 XML 中添加的短语相同或相似,然后当我找到短语时,我想使用 XPath 获取主题的值。

我将用户提交的文本保存在一个变量中,我们称之为“UserText”

我该怎么做?

我试过了,但没有用,没有匹配,更不用说获取主题的@value了
/questions/topic/@value[../phrase/text()=UserText]

例如,如果用户输入“你叫什么名字,丑陋的?” xpath 将返回值 'name'

谢谢

最佳答案

xpath 表达式:

//questions/topic[./phrase/text()="what's your name?"]/@value

关于上面节点的 XML Xpath 选择值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46157368/

10-13 02:01