【问题标题】:How to parse xml with java如何用java解析xml
【发布时间】:2019-03-24 08:21:29
【问题描述】:

我正在从我的 java 应用程序中调用一个肥皂网络服务。 我得到响应,我想解析它并获取数据。 问题是字段<tranData> 包含>< 而不是<> 的结构。如何解析此文档以从字段 <tranData> 获取数据?

这是响应结构:

<response>
<Portfolio>
    <ID>1</ID>
    <holder>2</holder>
 </Portfolio>
<tranData>     &lt;responseOne&gt;&lt;header&gt;&lt;code&gt;1&lt;/code&gt;&lt;/header&gt;&lt;/responseOne&gt;</tranData>

请记住,这只是一个响应的例子,数据量会更大,所以解决方案应该很快。

【问题讨论】:

  • 试试看this answer to a SO question。我认为它可以解决您的问题。
  • 您拥有网络服务吗?如果你这样做了,那么首先你必须正确发送数据,这样客户端就不会在读取它时遇到问题。如果您无法访问,我认为您可以做的唯一方法是获取 tranData innerText 然后替换 <对于“”,您可以简单地创建 XML 对象来访问它。
  • @Brank Victoria 它是一个外部服务,它是它的正确响应。当然我可以替换 &lt 和 &gt 但是这个操作的性能会非常低......

标签: java xml parsing dom sax


【解决方案1】:

您向我们展示的是通过网络接收的实际文件,对吗?所以&lt;tranData&gt; 包含一个已转义的 XML 字符串,不会干扰包含文档的其余部分的标记。

当您读取&lt;tranData&gt; 元素的内容时,XML 处理器将“取消转义”字符串并为您提供“原始”值:

<responseOne><header><code>1</code></header></responseOne>

你用这个值做什么是另一回事。您可以将其解析为另一个 XML 文档并检索 &lt;code&gt; 元素的值,或者只是将字符串传递给其他处理步骤。

【讨论】:

    猜你喜欢
    • 2010-12-15
    • 2014-02-24
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 2012-11-17
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多