获取xml字符串中标签属性(单标签多属性)
开发的时候⽂件上传平台给我返回了⼀个xml格式的字符串,有⽂件ID和⽂件名称需要我返回给前端。
记录⼀下开发过程中xml字符串转实体类对象
实体类对象
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Pages{
private String pageId;
private String fileName;
private String nodeId;
private String nodeName;
private String responseCode;
private String responseMsg;
}
代码实现
public class test{
public static void main(String[] args){
readStringXml();
}
@SuppressWarnings("unchecked")
public static void readStringXml(){
String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
"<root>\n"+
"    <PAGES>\n"+
"        <PAGE PAGEID=\"faklf21312op1234o1k132k3nk1\" FILE_NAME=\"test.xlsx\" NODE_ID=\"xxx_01\" NODE_NAME=\"xxxxxxxx\"/>\n"+ "    </PAGES>\n"+
"    <RESPONSE_CODE>1</RESPONSE_CODE>\n"+
"    <RESPONSE_MSG>上传成功</RESPONSE_MSG>\n"+
"</root>";
try{
Document doc = DocumentHelper.parseText(xml);
// 将字符串转为XML
Element rootElt = RootElement();
// 获取根节点
// 获取根节点的名称
Pages pages =new Pages();
Element page = rootElt.element("PAGES").element("PAGE");
pages.setPageId(page.attributeValue("PAGEID"));
pages.setFileName(page.attributeValue("FILE_NAME"));
pages.setNodeId(page.attributeValue("NODE_ID"));
pages.setNodeName(page.attributeValue("NODE_NAME"));
pages.setResponseCode(String.valueOf(rootElt.element("RESPONSE_CODE").getStringValue()));
xml标签大全pages.setResponseMsg(String.valueOf(rootElt.element("RESPONSE_MSG").getStringValue()));
}catch(DocumentException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
}
依赖包
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。