假设xml字符串为:
<?xml version=\"1.0\" encoding=\"GBK\"?>
<DATAPACKET Version=\"V1.0_ADO\">
<METADATA>
<FIELDS>
<FIELD Name=\"NV_VALUE\" DataType=\"131\" Option=\"120\" Size=\"25\" Precision=\"25\" NumScale=\"2\"\/>
<FIELD Name=\"FUND_QUANTITY\" DataType=\"131\" Option=\"120\" Size=\"25\" Precision=\"25\" NumScale=\"4\"\/>
<\/FIELDS>
<ROWDATA>
<ROW BOOK_CODE=\"4270\" BUSS_DATE=\"20180419\" FUND_CODE=\"4270\" GRADE_FUND_CODE=\"\" MAINBOOK_FLAG=\"Y\" NAV_VALUE=\"0\" ACCNAV_VALUE=\"0\" NV_VALUE=\"-4845450.07\" FUND_QUANTITY=\"0\"\/>
<ROW BOOK_CODE=\"1016\" BUSS_DATE=\"20180419\" FUND_CODE=\"统计组合1\" GRADE_FUND_CODE=\"\" MAINBOOK_FLAG=\"Y\" NAV_VALUE=\"0.54\" ACCNAV_VALUE=\"0.54\" NV_VALUE=\"20230.41\" FUND_QUANTITY=\"37210.14\"\/>
<\/ROWDATA>
<\/METADATA>
<\/DATAPACKET>
根据字符串获取xml文档
document = DocumentHelper.parseText(netValueData);
获取根标签
Element root = document.getRootElement();
现在想要获取ROWDATA中的标签
List<Element> elements = root.element("METADATA").element("ROWDATA").elements();
这个elements就是ROWDATA中的那两个ROW标签了,
Document对象分标签element,而标签里面又包括属性和标签中的内容content,
根据标签名获取标签
Element e = elem.element("标签名");获取指定名称的所有子标签
Iterator<Element> iterator = elem.elementIterator("标签名");获取所有子标签
List<Element> list = elem.elements();获取标签中的属性
String sttrValue = elem.attributeValue("属性名");获取指定名称的属性对象
Attribute attr = Element.attribute("属性名");获取属性名称:attr.getName()
获取属性值:attr.getValue()
获取文本
elem.getText();获取当前标签指定名称的子标签的文本内容
elem.elementText("标签名")