简单 XML - 两个不同的根元素
Simple XML - Two different root elements
我的问题是我必须解析一个 xml 文档,它可以有两个不同的根 xml 标签。
变体 1:
<?xml version="1.0" encoding="UTF-8"?>
<success>
success...
</success>
变体 2:
<?xml version="1.0" encoding="UTF-8"?>
<error>
error...
</error>
我知道有注释 @ElementUnion()
,但据我所知它只适用于非根标签。
更多信息:
我正在改造并使用 api 并使用简单-xml 来解析 xml-文档。
如果有人有解决方案或解决方法,那就太好了。
我唯一的想法是调用 api,捕获异常并用另一个模型重试变体 2。
提前致谢
您可以使用Persister.validate
。它采用与 Persister.read
和 returns 相同的参数,如果传递的 class 可以被解析,则为真或假。
这是使用 API 的最佳方法,您也可以通过阅读 xml 的前两行(在您的示例中)手动检测 class,但在更复杂的结构你需要使用 'validate'.
我的问题是我必须解析一个 xml 文档,它可以有两个不同的根 xml 标签。
变体 1:
<?xml version="1.0" encoding="UTF-8"?>
<success>
success...
</success>
变体 2:
<?xml version="1.0" encoding="UTF-8"?>
<error>
error...
</error>
我知道有注释 @ElementUnion()
,但据我所知它只适用于非根标签。
更多信息:
我正在改造并使用 api 并使用简单-xml 来解析 xml-文档。
如果有人有解决方案或解决方法,那就太好了。
我唯一的想法是调用 api,捕获异常并用另一个模型重试变体 2。
提前致谢
您可以使用Persister.validate
。它采用与 Persister.read
和 returns 相同的参数,如果传递的 class 可以被解析,则为真或假。
这是使用 API 的最佳方法,您也可以通过阅读 xml 的前两行(在您的示例中)手动检测 class,但在更复杂的结构你需要使用 'validate'.