1、json 通过路径获取节点
1、所需jar
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
</dependency>
2、简单例子
String json = "{\r\n" + " \"orgCode\": \"string\",\r\n" + " \"params\": {\r\n"
+ " \"additionalProp1\": \"string\",\r\n" + " \"additionalProp2\": \"string\",\r\n"
+ " \"additionalProp3\": \"string\"\r\n" + " },\r\n" + " \"serviceCode\": \"111111\",\r\n"
+ " \"tokenValue\": \"string\"\r\n" + "}";
String str = JsonPath.read(json, "@.params.additionalProp1");
System.out.println(str);
2、xml 通过路径(xpath)获取节点值
1、所需jar
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
</dependency>
2、简单例子
String xml="<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:web=\"http://webservice.dataManage.datacenter.aadata.com/\">\r\n" +
" <soap:Header/>\r\n" +
" <soap:Body>\r\n" +
" <web:getMessage>\r\n" +
" <!--Optional:-->\r\n" +
" <webServiceRequestModel>\r\n" +
" <!--Optional:-->\r\n" +
" <orgCode>?</orgCode>\r\n" +
" <params>\r\n" +
" <!--Zero or more repetitions:-->\r\n" +
" <entry>\r\n" +
" <!--Optional:-->\r\n" +
" <key>222</key>\r\n" +
" <!--Optional:-->\r\n" +
" <value>?</value>\r\n" +
" </entry>\r\n" +
" </params>\r\n" +
" <!--Optional:-->\r\n" +
" <serviceCode>123</serviceCode>\r\n" +
" <!--Optional:-->\r\n" +
" <tokenValue>?</tokenValue>\r\n" +
" </webServiceRequestModel>\r\n" +
" </web:getMessage>\r\n" +
" </soap:Body>\r\n" +
"</soap:Envelope>";
Document document =XmlUtils.loadXmlTemplete(xml);
String text=document.selectSingleNode("/soap:Envelope/soap:Body/web:getMessage/webServiceRequestModel/serviceCode").getText();
System.out.println(text);
String text1=document.selectSingleNode("/soap:Envelope/soap:Body/web:getMessage/webServiceRequestModel/params/entry[1]/key").getText();
System.out.println(text1);
public class XmlUtils {
public static Document loadXmlTemplete(String xmlContent) throws DocumentException {
return DocumentHelper.parseText(xmlContent);
}
}