首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从请求中抓取命名空间前缀,并使用它在Spring Java中查找元素

从请求中抓取命名空间前缀,并使用它在Spring Java中查找元素
EN

Stack Overflow用户
提问于 2013-04-03 00:16:37
回答 1查看 375关注 0票数 1

我想去掉静态的"ims:“,将SOAP请求中的前缀与名称空间xmlns:ims="http://www.imsglobal.org/services/lis/bdems1p0/wsdl11/sync/imsbdems_v1p0一起使用。我如何在Spring拦截器中做到这一点?

代码语言:javascript
运行
复制
protected String findProperty(SOAPHeader soapHeader, String propertyName) {

        NodeList list = soapHeader.getElementsByTagName("ims:" + propertyName);

我想要的属性是

代码语言:javascript
运行
复制
<ims:imsx_syncRequestHeaderInfo>
         <ims:imsx_version>V1.0</ims:imsx_version>
         <ims:imsx_messageIdentifier>?</ims:imsx_messageIdentifier>
      </ims:imsx_syncRequestHeaderInfo>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-10 04:52:13

用以下代码修复了它。

代码语言:javascript
运行
复制
NodeList nodeList = soapHeader.getElementsByTagName("*");

for (int i = 0; i < nodeList.getLength(); i++) {
    Node node = nodeList.item(i);
    if (node.getNodeType() == Node.ELEMENT_NODE 
            && node.getLocalName().equalsIgnoreCase(propertyName)) {
            if (node.getTextContent().isEmpty()) {
                    return null;
            } else {
                    return node.getTextContent();
            }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15769081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档