package cn.com.ebidding.web.tool;
import java.util.List;
import org.dom4j.*;
public class DocumentParse {
public static void main(String[] args) {
String xml =
"<msgPort>" +
"<msgFromID>C4201000016</msgFromID>" +
"<msgCode>A01</msgCode>" +
"<msgBody>" +
"<planCode>CACG2018000001</planCode>" +
"<tenderProjectCode>XXX-2012-0101</tenderProjectCode>" +
"<tenderProjectName>XXX招标项目</tenderProjectName>" +
"<tenderProjectContent>招标内容与范围</tenderProjectContent>" +
"<tenderOrgId>招标执行组织代码</tenderOrgId>" +
"<projectManager>张三</projectManager>" +
"<projectManagerContact>010-02224222</projectManagerContact>" +
"<tenderMode>1</tenderMode>" +
"<tenderOrganizeForm>2</tenderOrganizeForm>" +
"<createTime>201801021221</createTime>" +
"<platformCode>C4201000016</platformCode>" +
"</msgBody>" +
"</msgPort>";
try {
Document xmldoc = DocumentHelper.parseText(xml);
Element rootEl = xmldoc.getRootElement();
// 得到所有跟节点
List<Element> rootlist = rootEl.elements();
String msgFromID = rootEl.elementText("msgFromID");
System.out.println("根节点:" + msgFromID);
String planCode = rootEl.element("msgBody").element("msgNode").elementText("planCode");
System.out.println("根节点的子节点:" + planCode);
// 得到有子节点的根节点
List<Element> bodyList = rootEl.selectNodes("msgBody");
for(int i=0; i<bodyList.size(); i++){
Element elementNode = bodyList.get(i);
// 子节点list
List<Element> nodelist = elementNode.elements();
for (Element ele : nodelist) {
// 如果节点内容包含html
String context = ele.asXML();
if(context.contains("</p>") || context.contains("</table>") || context.contains("</tr>") || context.contains("</th>")){
context.replace("<"+ele.getName()+">", "").replace("</"+ele.getName()+">", "");
}
System.out.println(ele.getName() + ":" + ele.getStringValue());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java 解析Xml(基本满足你所有的取值情况)
最新推荐文章于 2025-03-13 00:08:53 发布