【问题标题】:How to parse an Xml which contains the field with an new line using java parsers如何使用java解析器解析包含带有新行的字段的Xml
【发布时间】:2018-02-28 07:23:59
【问题描述】:

当使用 java 解析器时,如何解析包含新行字段的 Xml。

<ThreeDSecure>
   <acs_url>https://nithesh/testing</acs_url>
   <pareq_message>
    dfsgndfisfgsdgsdgsfggsfgsdfgs
    rfk/ffsgsdgfdssg32afaaaaffasa
    sgsdgsdfgsdfgfg
    ssdgfsgs342;dhhdgssssregs
    sffsgsdgfdssgsfregssdgsdg54df
    fdgdfgdfg
   </pareq_message>
</ThreeDSecure>

这里我需要按原样读取 pareq_message 标记值,帮我解决这个问题。我已经使用 Xml 解析器来读取字段,但是我得到了一行字符串。

if("pareq_message".equals(sThreeDSecure)){
    String sPareqMessage =threeDSecureCursor.collectDescendantText();
    objNBGIBankResponseBean.setPareqMessage(sPareqMessage);
} //if closed (PareqMessage)

【问题讨论】:

  • XML 解析器可能只返回一个字符串,但该字符串仍然是多行的,带有嵌入的换行符。这可能是您显示忽略换行符的字符串的方式。
  • 是 GPI,我正在使用 StaxMate 解析器
  • @forty-2 你是对的。我很困惑。我将删除我的评论,以免误导未来的读者。
  • @forty-2 我可以知道获取字符串的替代解决方案吗

标签: java xml parsing stax jdom


【解决方案1】:

您可以使用 LINQ to XML 库来读取带有换行符的文本

XDocument xdoc = XDocument.Load("Data.xml");
var message = xdoc.Descendants("pareq_message").First();
var value = message.Value;

这应该可行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 2011-03-15
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多