gpt4 book ai didi

xml - XPath:基于多个子条件选择父节点

转载 作者:行者123 更新时间:2023-12-03 17:32:56 28 4
gpt4 key购买 nike

我无法弄清楚这是一个复杂的XPath问题。

假设我有一个XML Feed,其中包含许多如下所示的<event>节点:

<bestlinesports_line_feed>
<event>
<event_datetimeGMT>2015-07-29 19:10</event_datetimeGMT>
<sporttype>Baseball</sporttype>
<scheduletext>null</scheduletext>
<league>MLB Baseball</league>
<participant>
<participant_name>Washington Nationals</participant_name>
<rotnum>905</rotnum>
<visiting_home_draw>Visiting</visiting_home_draw>
<odds>
<moneyline>-124</moneyline>
</odds>
<pitcher>D. Fister -R</pitcher>
</participant>
<participant>
<participant_name>Miami Marlins</participant_name>
<rotnum>906</rotnum>
<visiting_home_draw>Home</visiting_home_draw>
<odds>
<moneyline>114</moneyline>
</odds>
<pitcher>T. Koehler -R</pitcher>
</participant>
<drawrotnum>0</drawrotnum>
<drawmoneyline>0</drawmoneyline>
<drawTitle/>
<period>
<period_description>Game</period_description>
<periodcutoff_datetimeGMT>2015-07-29 19:20</periodcutoff_datetimeGMT>
<period_status>O</period_status>
<spread>
<spread_visiting>-1.5</spread_visiting>
<spread_adjust_visiting>125</spread_adjust_visiting>
<spread_home>1.5</spread_home>
<spread_adjust_home>-145</spread_adjust_home>
</spread>
<total>
<total_points>7.5</total_points>
<over_adjust>-102</over_adjust>
<under_adjust>-118</under_adjust>
</total>
</period>
</event>


现在,这些华盛顿国民事件中有6个事件节点。我想根据4条标准来定位这一特定目标:


<participant_name>包含“国民”(将其缩小到6)
(这需要包含,因为它们与我的Rails模型连接
那=='国民')
<event_datetimeGMT>包含“ 2015-07-29”(将其范围缩小到
5)(由于我的Rails game_date模型也需要包含在内)
<league>是“ MLB棒球”(将其缩小到2)
<period_description>是“游戏”(将其缩小到1)


这将是巨大的帮助。 XPath真的很难!

如果您感觉特别客气,则在选择了父级事件节点后,我将要定位的3个字符串/值是:主队下的 <moneyline>,第二位参与者或迈阿密马林鱼队(有两条赔钱线),然后 <total_points><spread_home>。这个xml有点怪,所以变得更难了。

非常感谢你。

最佳答案

您可以尝试这种方式(为便于阅读而格式化):

//event
[
participant/participant_name[contains(.,'Nationals')]
]
[
event_datetimeGMT[contains(.,'2015-07-29')]
]
[
league='MLB Baseball'
]
[
period/period_description='Game'
]


每个外部谓词( [....])依次实现问题中提到的四个条件。

以下是3个XPath表达式,用于将所需的3个字符串值(给定的 <event>作为上下文节点指定):

./participant[visiting_home_draw='Home']/odds/moneyline
./period/total/total_points
./period/spread/spread_home

关于xml - XPath:基于多个子条件选择父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31713639/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com