xml如何使用Java从SOAP响应中检索元素值?
我试图从salesforce提供的以下字符串响应中获取标记值
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://soap.sforce.com/2006/04/metadata">
<soapenv:Body>
<listMetadataResponse>
<result>
<createdById>00528000001m5RRAAY</createdById>
<createdByName>Hariprasath Thanarajah</createdByName>
<createdDate>1970-01-01T00:00:00.000Z</createdDate>
<fileName>objects/EmailMessage.object</fileName>
<fullName>EmailMessage</fullName>
<id />
<lastModifiedById>00528000001m5RRAAY</lastModifiedById>
<lastModifiedByName>Hariprasath Thanarajah</lastModifiedByName>
<lastModifiedDate>1970-01-01T00:00:00.000Z</lastModifiedDate>
<namespacePrefix />
<type>CustomObject</type>
</result>
</listMetadataResponse>
</soapenv:Body>
</soapenv:Envelope>
上面我们有标签<fullName>
。我需要获取标记中的值并将其放入字符串数组中。我尝试过使用substring方法,但它只返回一个值。有人能建议我这样做吗
# 1 楼答案
我试过像下面这样
从上面的代码中,您将获得ID列表。之后,您可以将它们放入字符串数组并返回到字符串数组,如下所示
# 2 楼答案
使用以下代码解析SOAP响应并获取元素值
将XML响应保存在系统上的任何位置。调用方法getResult()。这是一种通用方法。它接受webservice响应的负载类类型并返回java对象
# 3 楼答案
如果您只想解析这个元素,可以使用SAX或StAX解析器,如下所述https://www.javacodegeeks.com/2013/05/parsing-xml-using-dom-sax-and-stax-parser-in-java.html
或者,您可能想阅读更多关于JAX-WSAPI的内容,以创建使用SalesforceWeb服务的SOAP客户端