使用 MySQL ExtractValue xpath 获取节点名称
Using MySQL ExtractValue xpath to get the name of a node
我一直在自己做一些研究,这似乎是不可能的,但也许有人可以在这里帮助我。
我有一些 xml 存储在数据库中,看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<msg>
<head>
<Blah>Blah</Blah>
</head>
<body>
<FooDetails>
<Foo>
<FooId>9999</FooId>
<FooField>
<Foobar>Foobar value blah</Foobar>
</FooField>
</Foo>
<Bar>
<BarId>123456789</BarId>
<BarStatus>B</BarStatus>
</Bar>
</FooDetails>
</body>
</msg>
我想知道是否有一个 ExtractValue xpath 配方可以只显示“FooDetails”。
本质上“FooDetails”是交易的类型。节点的子节点根据交易类型会有很大不同。
只是为了回答一些预期的问题,我们有一个第 3 方通过我们存储在数据库中的 API 向我们发送 XML,然后其他脚本出现并处理它。所以虽然XML的格式明显不理想,但也没有希望改变了。
谢谢!
似乎 MySQL 不支持您通常用于此类任务的两个函数:
- 本地名称()
- 姓名()
请看这里:The following XPath functions are not supported, or have known issues as indicated:
我一直在自己做一些研究,这似乎是不可能的,但也许有人可以在这里帮助我。
我有一些 xml 存储在数据库中,看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<msg>
<head>
<Blah>Blah</Blah>
</head>
<body>
<FooDetails>
<Foo>
<FooId>9999</FooId>
<FooField>
<Foobar>Foobar value blah</Foobar>
</FooField>
</Foo>
<Bar>
<BarId>123456789</BarId>
<BarStatus>B</BarStatus>
</Bar>
</FooDetails>
</body>
</msg>
我想知道是否有一个 ExtractValue xpath 配方可以只显示“FooDetails”。
本质上“FooDetails”是交易的类型。节点的子节点根据交易类型会有很大不同。
只是为了回答一些预期的问题,我们有一个第 3 方通过我们存储在数据库中的 API 向我们发送 XML,然后其他脚本出现并处理它。所以虽然XML的格式明显不理想,但也没有希望改变了。
谢谢!
似乎 MySQL 不支持您通常用于此类任务的两个函数:
- 本地名称()
- 姓名()
请看这里:The following XPath functions are not supported, or have known issues as indicated: