gpt4 book ai didi

java - 使用java中的正则表达式从无效/部分xml中提取值

转载 作者:行者123 更新时间:2023-12-02 06:32:10 24 4
gpt4 key购买 nike

我有一个像这样的xml,它是直接从数据库获取的(不需要是具有正确开始和结束标签的有效XML)。我需要从此xml中提取数据,例如。颜色、级别、前缀等。由于不能保证正确的 xml 格式,所以我唯一的方法是正则表达式..或者是吗?

xml 看起来像这样

<indicator label_unit_en="Index points" label_unit_de="Basis punkte">  
<partition id="P_ABC_DEF.3">
<part color="darkgreen" level="50" prefix_en="aaa 111" prefix_de="unt ü 50">
<part color="lightgreen" level="100" prefix_en="50 to 100" prefix_de="qwe 100">
<part color="lightorange" level="200" prefix_en="100 to 200" prefix_de="100 qw 200">
<part color="darkorange" level="300" prefix_en="200 to 300" prefix_de="20 w0">
<part color="lightred" level="500" prefix_en="300 to 500" prefix_de="rr 0">
part color="darkred" level="99999" prefix_en="above 500" prefix_de="ü 2">
</partition>
</indicator>

任何人都可以建议我一种从该 xml 中提取数据的方法吗???

我能够从
中提取数据颜色(颜色=\"(\\w+?)\"),
level(level=\"(\\w+?)\)

但不是来自其他人。

我创建的任何匹配器都找不到 prefix_en、prefix_de、label_unit_en、label_unit_de 的任何内容

请为此提出解决方案。或者除了正则表达式之外还有什么方法可以解决这个问题。

最佳答案

也许,初始 XML 可以通过像 http://jtidy.sourceforge.net/ 这样的库转换为格式良好的 XML。 ,然后通过xPath或者节点扫描提取数据。

关于java - 使用java中的正则表达式从无效/部分xml中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19973806/

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