Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中解析转义的xml标记_Java_Xml_Soap - Fatal编程技术网

在java中解析转义的xml标记

在java中解析转义的xml标记,java,xml,soap,Java,Xml,Soap,转换soap响应时出现性能问题。问题的核心在于soap响应的xml格式不正确。soap响应转义了xml标记(例如,SomeNodeName文本/SomeNodeName而不是someText)。据我所知,java(我使用的java.xml库)将转义标记视为一个“大”标记。为了能够成功解析soap响应,我必须使用“StringEscapeUtils”来“unescape”所有字符。这是实际的瓶颈。我必须将每个节点转换为字符串,取消它的scape并将其作为节点写回。 当响应大约为1MB+时,性能会受

转换soap响应时出现性能问题。问题的核心在于soap响应的xml格式不正确。soap响应转义了xml标记(例如,
SomeNodeName文本/SomeNodeName
而不是
someText
)。据我所知,java(我使用的java.xml库)将转义标记视为一个“大”标记。为了能够成功解析soap响应,我必须使用“StringEscapeUtils”来“unescape”所有字符。这是实际的瓶颈。我必须将每个节点转换为字符串,取消它的scape并将其作为节点写回。 当响应大约为1MB+时,性能会受到质疑。 确切响应如下(无信封):


BisnodeWebServiceData
状态1/状态
资料
PodjetjeFinancni
项目
乐透2016/乐透
TipSubjekta1/TipSubjekta
........
/项目
项目
乐透2015/乐透
TipSubjekta1/TipSubjekta
........
/项目
........
/PodjetjeFinancni
/资料
/BisnodeWebServiceData
我的问题是。有没有办法绕过这个节点字符串节点进程并使用原始转义的soap响应来解析它


谢谢。

还有两种可能性。1找出标记转义的原因并修复它。2通过过滤器运行文档以取消所有标记的显示。在任何一种情况下,您都可以使用一个简单的xml文档。我无法影响响应,因为它是由web服务提供商提供的。将尝试使用过滤器方法。谢谢。
<GetData_PodjetjeReportResponse>   <GetData_PodjetjeReportResult>
    &lt;BisnodeWebServiceData&gt;
      &lt;Status&gt;1&lt;/Status&gt;
        &lt;Data&gt;
          &lt;PodjetjeFinancni&gt;
            &lt;Item&gt;
              &lt;Leto&gt;2016&lt;/Leto&gt;
              &lt;TipSubjekta&gt;1&lt;/TipSubjekta&gt;
              ........
            &lt;/Item&gt;
            &lt;Item&gt;
              &lt;Leto&gt;2015&lt;/Leto&gt;
              &lt;TipSubjekta&gt;1&lt;/TipSubjekta&gt;
              ........
            &lt;/Item&gt;
            ........
          &lt;/PodjetjeFinancni&gt;
        &lt;/Data&gt;
      &lt;/BisnodeWebServiceData&gt;
    </GetData_PodjetjeReportResult> </GetData_PodjetjeReportResponse>