{"id":844,"date":"2010-10-01T12:09:41","date_gmt":"2010-10-01T12:09:41","guid":{"rendered":"http:\/\/enjoyasp.net\/?p=844"},"modified":"2010-10-01T12:09:41","modified_gmt":"2010-10-01T12:09:41","slug":"%e8%af%bb%e5%8f%96xml%e6%96%87%e4%bb%b6-dom4j","status":"publish","type":"post","link":"https:\/\/enjoyasp.net\/index.php\/2010\/10\/01\/%e8%af%bb%e5%8f%96xml%e6%96%87%e4%bb%b6-dom4j\/","title":{"rendered":"\u8bfb\u53d6XML\u6587\u4ef6 &#8211;dom4j"},"content":{"rendered":"<pre lang=\"java\">\r\n\u4e00\uff0c, \u8bfb\u53d6\u6587\u4ef6\r\n File file=new File( filePath );\r\n SAXReader sar=new SAXReader();\r\n Document doc = sar.read(file);\r\n\r\n\u4e8c,\u64cd\u4f5c\u6570\u636e\r\n\r\n1.\u83b7\u53d6\u6587\u6863\u7684\u6839\u8282\u70b9.\r\nElement rootElm = document.getRootElement(); \r\n\r\n2.\u53d6\u5f97\u67d0\u8282\u70b9\u7684\u5355\u4e2a\u5b50\u8282\u70b9.\r\nElement memberElm=root.element(\"member\");\/\/ \"member\"\u662f\u8282\u70b9\u540d \r\n\r\n3.\u53d6\u5f97\u8282\u70b9\u7684\u6587\u5b57\r\nString text=memberElm.getText(); \u4e5f\u53ef\u4ee5\u7528:\r\nString text=root.elementText(\"name\"); \u8fd9\u4e2a\u662f\u53d6\u5f97\u6839\u8282\u70b9\u4e0b\u7684name\u5b57\u8282\u70b9\u7684\u6587\u5b57.\r\n\r\n4.\u53d6\u5f97\u67d0\u8282\u70b9\u4e0b\u540d\u4e3a\"member\"\u7684\u6240\u6709\u5b57\u8282\u70b9\u5e76\u8fdb\u884c\u904d\u5386.\r\nList nodes = rootElm.elements(\"member\");\r\nfor (Iterator it = nodes.iterator(); it.hasNext();) {\r\nElement elm = (Element) it.next();\r\n\/\/ do something\r\n} \r\n\r\n5.\u5bf9\u67d0\u8282\u70b9\u4e0b\u7684\u6240\u6709\u5b50\u8282\u70b9\u8fdb\u884c\u904d\u5386.\r\nfor(Iterator it=root.elementIterator();it.hasNext();){\r\nElement element = (Element) it.next();\r\n\/\/ do something\r\n} \r\n\r\n6.\u5728\u67d0\u8282\u70b9\u4e0b\u6dfb\u52a0\u5b50\u8282\u70b9.\r\nElement ageElm = newMemberElm.addElement(\"age\"); \r\n\r\n7.\u8bbe\u7f6e\u8282\u70b9\u6587\u5b57.\r\nageElm.setText(\"29\"); \r\n\r\n8.\u5220\u9664\u67d0\u8282\u70b9.\r\nparentElm.remove(childElm);\/\/ childElm\u662f\u5f85\u5220\u9664\u7684\u8282\u70b9,parentElm\u662f\u5176\u7236\u8282\u70b9 \r\n\r\n9.\u6dfb\u52a0\u4e00\u4e2aCDATA\u8282\u70b9.\r\nElement contentElm = infoElm.addElement(\"content\");\r\ncontentElm.addCDATA(diary.getContent());\r\ncontentElm.getText(); \/\/ \u7279\u522b\u8bf4\u660e\uff1a\u83b7\u53d6\u8282\u70b9\u7684CDATA\u503c\u4e0e\u83b7\u53d6\u8282\u70b9\u7684\u503c\u662f\u4e00\u4e2a\u65b9\u6cd5\r\ncontentElm.clearContent(); \/\/\u6e05\u9664\u8282\u70b9\u4e2d\u7684\u5185\u5bb9\uff0cCDATA\u4ea6\u53ef\r\n\r\n\u4e09.\u5c5e\u6027\u76f8\u5173.\r\n1.\u53d6\u5f97\u67d0\u8282\u70b9\u4e0b\u7684\u67d0\u5c5e\u6027\r\nElement root=document.getRootElement(); \r\nAttribute attribute=root.attribute(\"size\");\/\/ \u5c5e\u6027\u540dname\r\n\r\n2.\u53d6\u5f97\u5c5e\u6027\u7684\u6587\u5b57\r\nString text=attribute.getText();\r\n\u4e5f\u53ef\u4ee5\u7528:\r\nString text2=root.element(\"name\").attributeValue(\"firstname\");\r\n\u8fd9\u4e2a\u662f\u53d6\u5f97\u6839\u8282\u70b9\u4e0bname\u5b57\u8282\u70b9\u7684\u5c5e\u6027firstname\u7684\u503c.\r\n\r\n3.\u904d\u5386\u67d0\u8282\u70b9\u7684\u6240\u6709\u5c5e\u6027\r\nElement root=document.getRootElement(); \r\nfor(Iterator it=root.attributeIterator();it.hasNext();){\r\nAttribute attribute = (Attribute) it.next();\r\nString text=attribute.getText();\r\nSystem.out.println(text);\r\n}\r\n\r\n4.\u8bbe\u7f6e\u67d0\u8282\u70b9\u7684\u5c5e\u6027\u548c\u6587\u5b57.\r\nnewMemberElm.addAttribute(\"name\", \"sitinspring\");\r\n\r\n5.\u8bbe\u7f6e\u5c5e\u6027\u7684\u6587\u5b57\r\nAttribute attribute=root.attribute(\"name\");\r\nattribute.setText(\"sitinspring\");\r\n\r\n6.\u5220\u9664\u67d0\u5c5e\u6027\r\nAttribute attribute=root.attribute(\"size\");\/\/ \u5c5e\u6027\u540dname\r\nroot.remove(attribute);\r\n\r\n\u56db.\u5c06\u6587\u6863\u5199\u5165XML\u6587\u4ef6.\r\n1.\u6587\u6863\u4e2d\u5168\u4e3a\u82f1\u6587,\u4e0d\u8bbe\u7f6e\u7f16\u7801,\u76f4\u63a5\u5199\u5165\u7684\u5f62\u5f0f.\r\nXMLWriter writer = new XMLWriter(new FileWriter(\"output.xml\"));\r\nwriter.write(document);\r\nwriter.close();\r\n\r\n2.\u6587\u6863\u4e2d\u542b\u6709\u4e2d\u6587,\u8bbe\u7f6e\u7f16\u7801\u683c\u5f0f\u5199\u5165\u7684\u5f62\u5f0f.\r\n     OutputFormat format = OutputFormat.createPrettyPrint();\r\n     format.setEncoding(\"GBK\");    \/\/ \u6307\u5b9aXML\u7f16\u7801        \r\n     XMLWriter writer = new XMLWriter(new FileWriter(\"output.xml\"),format);\r\n    \r\n     writer.write(document);\r\n     writer.close();\r\n\r\n\u4e94.\u5b57\u7b26\u4e32\u4e0eXML\u7684\u8f6c\u6362\r\n1.\u5c06\u5b57\u7b26\u4e32\u8f6c\u5316\u4e3aXML\r\nString text = \"<members> <member>sitinspring<\/member> <\/members>\";\r\nDocument document = DocumentHelper.parseText(text);\r\n\r\n2.\u5c06\u6587\u6863\u6216\u8282\u70b9\u7684XML\u8f6c\u5316\u4e3a\u5b57\u7b26\u4e32.\r\n     SAXReader reader = new SAXReader();\r\n     Document   document = reader.read(new File(\"input.xml\"));            \r\n     Element root=document.getRootElement();                \r\n     String docXmlText=document.asXML();\r\n     String rootXmlText=root.asXML();\r\n     Element memberElm=root.element(\"member\");\r\n     String memberXmlText=memberElm.asXML();\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\uff0c, \u8bfb\u53d6\u6587\u4ef6 File file=new File( filePath ); SAXReader sar= [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[],"class_list":["post-844","post","type-post","status-publish","format-standard","hentry","category-java"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts\/844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/comments?post=844"}],"version-history":[{"count":0,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts\/844\/revisions"}],"wp:attachment":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/media?parent=844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/categories?post=844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/tags?post=844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}