gpt4 book ai didi

java - 如何通过*默认*命名空间进行 XmlObject.selectPath()?

转载 作者:数据小太阳 更新时间:2023-10-29 02:35:42 25 4
gpt4 key购买 nike

我发现了这种查询 XmlObject 以返回包含特定命名空间的元素的方法:

   XmlObject xobj = XmlObject.Factory.parse(
"<a xmlns='testA'>\n" +
" <B:b xmlns:B='testB'>\n" +
" <B:x>12345</B:x>\n" +
" </B:b>\n" +
"</a>");

// Use xpath with namespace delcaration to find <B:b> element.
XmlObject bobj = xobj.selectPath(
"declare namespace B='testB'" +
".//B:b")[0];

这非常简单,可用于其他命名空间,但如何对 default 命名空间执行相同的操作?即 xmlns= 像这样:

   XmlObject xobj = XmlObject.Factory.parse(
"<a xmlns='testA'>\n" +
" <b xmlns='testB'>\n" +
" <x>12345</B:x>\n" +
" </b>\n" +
"</a>");

xmlbeans documentation仅引用命名 命名空间...有没有办法实现我正在寻找的东西?

最佳答案

我在 Applying XPath to an XML with or without namespace 找到了 XMLBeans 默认 namespace 答案.

将其应用于您的示例:

String nsDeclaration = "declare default element namespace 'testB';";
XmlObject bobj = xobj.selectPath(nsDeclaration + ".//b")[0];

关于java - 如何通过*默认*命名空间进行 XmlObject.selectPath()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19792820/

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