修复JSON转XML时,用户指定的contentKeys只对最外面一层的元素生效

This commit is contained in:
YangXikun
2022-12-26 11:07:46 +08:00
parent ecde508346
commit 7faa15c393
3 changed files with 43 additions and 4 deletions

View File

@@ -0,0 +1,20 @@
package cn.hutool.json;
import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.core.util.XmlUtil;
import cn.hutool.json.xml.JSONXMLSerializer;
import org.junit.Assert;
import org.junit.Test;
import static javax.xml.xpath.XPathConstants.STRING;
public class IssueI676IT {
@Test
public void parseXMLTest() {
final JSONObject jsonObject = JSONUtil.parseObj(ResourceUtil.readUtf8Str("issueI676IT.json"));
String xmlStr = JSONXMLSerializer.toXml(jsonObject, null, (String) null);
String content = String.valueOf(XmlUtil.getByXPath("/page/orderItems[1]/content", XmlUtil.readXML(xmlStr), STRING));
Assert.assertEquals(content, "bar1");
}
}

View File

@@ -0,0 +1,19 @@
{
"page": {
"pageSize": 33,
"currentPage": 81,
"totalSize": 49,
"orderItems": [
{
"asc": true,
"columnName": "foo",
"content": "bar1"
},
{
"asc": false,
"columnName": "foo",
"content": "bar2"
}
]
}
}