gpt4 book ai didi

java - 使用嵌套标签解析 XML 属性的简便方法

转载 作者:行者123 更新时间:2023-11-30 02:51:22 25 4
gpt4 key购买 nike

我目前正在尝试解析包含棒球比分的 XML 文件。该文件将所有信息存储在属性中,这给我带来了一些麻烦。这是设置示例。

<game id="2016/07/20/atlmlb-cinmlb-1" venue="Great American Ball Park">
<linescore>
<inning away="1" home="0"/>
<r away="3" home="6" diff="3"/>
<h away="9" home="12"/>
</linescore>
<winning_pitcher id="543101" last="test" first="bob">
<losing_pitcher id="449173" last="test" first="joe">
</game>

到目前为止我所拥有的是:

NamedNodeMap ga= game.getAttributes();
Node stadium = ga.getNamedItem("venue");
String stad = stadium.getNodeValue();

NodeList linescore = game.getChildNodes();
NamedNodeMap ls = linescore.item(3).getAttributes();
....

如果所有内容都存储在游戏属性中,那就没问题了,但由于其中很多内容都是嵌套的,因此必须为子属性创建节点列表,然后再次重复,这变得很麻烦,尤其是当我尝试时获取20-30个统计数据。有没有更简单的方法可以说,从 <r> 获取主场得分,获胜投手的名字和失败投手的名字。

最佳答案

XPath 使 XML 访问变得不再那么麻烦:

Is there an easier way to say, grab the home score from <r>

/game/linescore/r/@home

the winning pitcher first name

/game/winning_pitcher/@first

and losing pitcher first name

/game/losing_pitcher/@first

将上述 XPath 与 How to read XML using XPath in Java 结合使用.

关于java - 使用嵌套标签解析 XML 属性的简便方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38556775/

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