Document doc = null;
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=null;
db = dbf.newDocumentBuilder();
doc = db.newDocument();
Element root = doc.createElement("TYPE");
doc.appendChild(root);
Element changeItemRange = doc.createElement("A");
root.appendChild(changeItemRange);
for(Object key:propertyNames){
 if(pageProp.get(key) != null && pageProp.get(key).toString() != "" && ageProp.get(key).toString() != " "){
  System.out.println(key.toString());
  System.out.println(pageProp.get(key));
  Element eLabel = doc.createElement(key.toString());
  changeItemRange.appendChild(eLabel);
  Text eValue = doc.createTextNode(pageProp.get(key).toString());
  eLabel.appendChild(eValue);
 }
}我想把上面的doc转成String并显示在页面该怎么做
doc.toString()不行都显示null

解决方案 »

  1.   

    // XML转字符串
    Document document = ...;
    String text = document.asXML(); 
      

  2.   

    Eclipse里
    Document没看到asXML()
    这从那来的呀
      

  3.   

    我是用dom4j操作XML的。
    String org.dom4j.Node.asXML()
      

  4.   

    使用dom4j来操作  直接asXML()方法
      

  5.   

    doc不用先取出东西在tostring()吗
      

  6.   

    org.dom4j.io.SAXReader saxReader = new org.dom4j.io.SAXReader();
    org.dom4j.Document document = saxReader.read(new java.io.File.File(fileName));
    System.out.println(document.asXML());
      

  7.   

    参考网上资源已取得TransformerFactory tf = TransformerFactory.newInstance();  
      Transformer t = tf.newTransformer();  
      t.setOutputProperty(\"encoding\",\"GB23121\");
      ByteArrayOutputStream bos = new ByteArrayOutputStream();  
      t.transform(new DOMSource(doc), new StreamResult(bos));  
      String xmlStr = bos.toString();