锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar錛?/SPAN>XPath蹇呭錛?/SPAN>
鍙栨煇涓鑺傜偣
Element root = (Element) document.selectSingleNode("http://root");
鍙栨煇涓鑺傜偣鐨勫睘鎬?/SPAN>
Attribute attribute = (Attribute) document.selectSingleNode("http://root/cell/@value");
浣跨敤緇忛獙
鎴戜滑鍦ㄥ仛緋葷粺闂翠氦浜掓椂錛岄氬父閫氳繃鑷畾涔夌殑xml鏂囦歡榪涜鏁版嵁浜ゆ崲銆備緥濡傦細緋葷粺A闇瑕佸悜緋葷粺B浼犺緭涓涓?/SPAN>xml瀛椾覆鐨勬潯浠跺涓嬶細
<?xml version="1.0" encoding="gb2312"?> <root systemid="Darenkou" userid="admin" default="DA" icon="0000"> <cell value=""/> </root> |
緋葷粺A鍙渶濉厖cell鑺傜偣鐨?/SPAN>value灞炴у鹼紝鎴戠殑寤鴻鏄皢榪欐xml鍐欐垚鏈湴鏂囦歡錛屾瘡嬈′紶杈撴椂棣栧厛璇誨彇xml鏂囦歡錛屽啀緗?/SPAN>cell鑺傜偣鐨?/SPAN>value灞炴у鹼紝鐒跺悗灝?/SPAN>xml瀵硅薄杞彉鎴愬瓧涓蹭紶緇欑郴緇?/SPAN>B銆傝繖鏍風殑浼樼偣鏄細涓鑸?/SPAN>systemid="Darenkou" userid="admin" default="DA" icon="0000" 鏄紶杈撳弬鏁幫紝褰撴湁鎵鍙樺姩鏃跺彧闇淇敼鏈湴鏂囦歡鍗沖彲銆?/SPAN>
璇︾粏渚嬬▼
test.xml
<?xml version="1.0" encoding="gb2312"?> <root id="TK12" name="綆$悊鍛?/SPAN>" value=""/> |
XmlTest.java
import java.io.File; import java.io.IOException; import java.io.StringWriter; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class XmlTest { public static String generateXml(HashMap map) { String strXml = null; if (map != null) { SAXReader reader = new SAXReader(); Document document = null; try { document = reader.read(new File("D:/test.xml")); } catch (DocumentException e) { e.printStackTrace(); } Element root = (Element) document.selectSingleNode("http://root"); root.attribute("value").setValue("鍒嗗竷"); Iterator iter = map.keySet().iterator(); while (iter.hasNext()) { String key = (String) iter.next(); String value = (String) map.get(key); Element element = root.addElement("cell").addAttribute("value", key); element.addElement("element").addAttribute("type", "鏁板?/SPAN>") .addAttribute("name", "浜烘暟").addText(value); } strXml = encodeXml(document, "gb2312"); } return strXml; } private static String encodeXml(Document document, String aEncode) { // 榪涜緙栫爜杞崲 StringWriter sw = new StringWriter(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding(aEncode); try { XMLWriter writer = new XMLWriter(format); writer.setWriter(sw); writer.write(document); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return sw.toString(); } public static void main(String[] args) { HashMap map = new HashMap(); map.put("涓婃搗", "200"); map.put("鍖椾含", "300"); map.put("澶╂觸", "300"); System.out.println(generateXml(map)); } } |