使用名称空间前缀解组肥皂响应

2024-02-01

我正在尝试使用 jaxb 解组肥皂响应。

我尝试使用以下代码来查找根元素

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setNamespaceAware(false);
        DocumentBuilder db;
        try {
            db = dbf.newDocumentBuilder();
             Document d = db.parse(new File("response.xml"));

                Unmarshaller unmarshaller = null;
                Results results = null;
                unmarshaller = JAXBContext.newInstance(Results.class).createUnmarshaller();

                    Node getNumberResponseElt = d.getElementsByTagName("results").item(0);
                    JAXBElement<Results> rs = unmarshaller.unmarshal(new DOMSource(getNumberResponseElt),Results.class);
                    results = rs.getValue();

           }

这是我的回复示例

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<service:ServiceResponse xmlns:out="http://example.com/Person/PersonData/v1" xmlns:service="http://example.com/Person/PersonData/v1/" xmlns:xs4xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<results>
<out:result>
<out:person>
<out:personName>
<out:firstName>First</out:firstName>
<out:lastName>Last</out:lastName>
</out:personName>
<out:gender>M</out:gender>
</out:person></out:result></results></service:ServiceResponse></soapenv:Body></soapenv:Envelope>

我能够得到results对象,但是当我尝试访问result in results由于前缀,它显示为 nullout:

谁能帮我摆脱这个困境?

UPDATE: 谁可以帮我这个事?

我使用 stax xml 解析器来解析results但我看到其中的所有值都为空。


我认为问题在于名称空间位置。您可以使用 StAX XMLStreamReader 解析 XML 并前进到正确的元素,然后在此时从 XMLStreamReader 解组

http://blog.bdoughan.com/2012/08/handle-middle-of-xml-document-with-jaxb.html http://blog.bdoughan.com/2012/08/handle-middle-of-xml-document-with-jaxb.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用名称空间前缀解组肥皂响应 的相关文章

随机推荐

  • Java 线程转储总结工具

    我有时必须查看 Tomcat 服务器的线程转储 然而 这是一个非常慢的过程 因为我的应用程序使用具有数百个线程的线程池 我查看的大多数线程转储都包含许多线程的相同堆栈跟踪 因为它们处于空闲等待工作状态 是否有任何工具可以解析线程转储并仅向我
  • eXist-db 在 .xq 数据中包含 html 模板

    我有一个 index html 数据 我通过以下方式包含了模板 div 在索引 html 站点中 我包含了一个关键字搜索表单 其想法是当我单击搜索按钮时 它应该调用 xq 文件来请求搜索结果 div
  • Pandas 跨多列进行代表性采样

    我有一个代表人口的数据框 每一列表示该人的不同品质 特征 我怎样才能获得该数据框 人口的样本 它代表了整个人口的所有特征 假设我有一个代表 650 人的员工队伍的数据框 如下所示 import pandas as pd import num
  • 我可以让 RSpec 只运行更改后的规格吗?

    我有一个非常大的项目 约 3800 个单独示例 的测试套件 我正在将其从 RSpec 2 14 更新到 3 6 我刚刚运行了全部替换s be true be true 但其中一些应该be truthy相反 这些规格是失败的 我可以从中提取更
  • 应用程序栏上的按钮 (WP7)

    If you open settings of wifi and choose any network you will see Password textbox and BUTTONS not icons in ApplicationBa
  • 如何将 Q.all() 与复杂的承诺数组一起使用?

    考虑我有一系列对象和承诺 例如 a 1 a 4 a 4 promiseSend Function valueOf Function promiseSend Function valueOf Function 现在什么时候打电话给我Q all
  • 什么时候在jstl中使用requestScope?

    jstl 变量在 jsp 的请求范围内设置
  • rownames_to_column 在 rowwise() 后无法正常工作

    我有这个 df df lt structure list a 1 5 b 6 10 c 11 15 d c a b c d e e 1 5 row names c NA 5L class c tbl df tbl data frame a
  • SQL - 查询获取服务器的IP地址

    SQL Server 2005 中是否有查询可以用来获取服务器的 IP 或名称 SELECT CONNECTIONPROPERTY net transport AS net transport CONNECTIONPROPERTY prot
  • 紧凑的 MATLAB 矩阵索引表示法

    我有一个 n k 大小的矩阵 每行包含 k 个数字 我想使用这 k 个数字作为 k 维矩阵的索引 在 MATLAB 中是否有任何紧凑的方法可以做到这一点 或者我必须使用 for 循环 这就是我想要做的 在 MATLAB 伪代码中 但以更 M
  • Rails 在渲染后强制重新加载 javascript

    我在 Rails 应用程序中使用表单 最后在控制器中检查表单的内容是否正确 如果没有 我再次渲染页面 在错误之上解释 控制器的一部分 if insertion save redirect to insertion else render n
  • 不允许在查询中显式构造实体类型“###”。

    使用 Linq 命令和 Linq To SQL 数据上下文 我尝试以这种方式从我的数据上下文实例化一个名为 Produccion 的实体 Demo View Data PRODUCCION pocoProduccion from m in
  • 如何在流程图上自动布局框?

    我有一些代表流程图的数据 一堆 Jira 状态及其向其他状态的转换 我也有定位每个流程图项目的粗略方法 https stackoverflow com questions 3961734 how do i generate an openo
  • Windows Installer 实例转换如何与升级交互?

    我创建了一个安装包 通过 WIX 它利用实例转换来允许在一台计算机上多次安装 没有经过太多思考 我还添加了对重大升级的支持 就像我之前多次做过的那样 今天 第一次安装了该产品的新版本 其行为并不完全符合我的预期 即使安装是针对新实例 但似乎
  • 使用 WebPack,如何创建可供使用的“拆分”捆绑包,其中一个捆绑包依赖于另一个捆绑包?

    我的问题非常接近others https stackoverflow com questions 34602831 webpack build bundle without dependencies我的回答是believe仍然需要另一个我想
  • 如何在 Cocoa 中创建 Daemon 应用程序?

    我是新手 谁能帮助我如何在 Cocoa 中创建守护进程应用程序 浏览了这里的资源 但我无法正确理解 两天以来 这里一直受到袭击 该应用程序应该是一个基础工具吗 代码应该用C写吗 我应该如何实施 launchd 我找不到完整的导师吗 请帮帮我
  • 获取MenuItem材质ui的值

    我在用着材质用户界面 https material ui com 对于菜单和菜单项 我试图获取菜单项的值 但它不起作用 这是我的代码 menu value menu
  • 使用 SAXparser 获取多个元素的信息 (Android)

    我是 Android 新手 也是 Java 新手 但现在我开始使用 Web 服务 因此 为了更好地理解如何解析 XML 我开始尝试本教程 http www anddev org novice tutorials f8 parsing xml
  • 删除另一列中具有多个唯一值的组

    我有一个类似的excel Name X Y A 5 9 B 5 10 C 7 9 D 7 9 E 5 10 F 5 8 我想删除 Y 列中具有重复值但 X 列中具有不同值的行 换句话说 如果一个 Y 值对应多个 X 值 则删除所有这些行 结
  • 使用名称空间前缀解组肥皂响应

    我正在尝试使用 jaxb 解组肥皂响应 我尝试使用以下代码来查找根元素 DocumentBuilderFactory dbf DocumentBuilderFactory newInstance dbf setNamespaceAware