把:
string strXmlData ="
 <DataTable1>
   <row Display=\"True\" Fixed=\"true\" Caption=\"ID\" />
   <row Display=\"True\" Fixed=\"true\" Caption=\"Name\" />
 </DataTable1>
";
中包含的数据转换到
DataTable
对象中.只需把上面 的数据转换成DataTable 对象中存储即可. 提供完整源代码.
解决后马上结贴.Thanks

解决方案 »

  1.   

    string strXmlData ="<DataTable1><row Display=\"True\" Fixed=\"true\" Caption=\"ID\" /><row Display=\"True\" Fixed=\"true\" Caption=\"Name\" /></DataTable1>"; 
    System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath(".")+"\\buffer.xml",System.IO.FileMode.OpenOrCreate);
    byte[] buffer = new byte[strXmlData.Length];
    System.Text.Encoding.Default.GetBytes(strXmlData,0,strXmlData.Length,buffer,0);
    fs.Write(buffer,0,buffer.Length);
    fs.Close();
    DataSet ds = new DataSet();
    ds.ReadXml(Server.MapPath(".")+"\\buffer.xml");
    System.IO.File.Delete(Server.MapPath(".")+"\\buffer.xml");
    DataGrid1.DataSource = ds;
    DataGrid1.DataBind();
      

  2.   

    不想用文件做中转的话可以直接用流
    string strXmlData ="<DataTable1><row Display=\"True\" Fixed=\"true\" Caption=\"ID\" /><row Display=\"True\" Fixed=\"true\" Caption=\"Name\" /></DataTable1>"; 
    byte[] buffer = new byte[System.Text.Encoding.Default.GetByteCount(strXmlData)];
    System.Text.Encoding.Default.GetBytes(strXmlData,0,strXmlData.Length,buffer,0);
    System.IO.MemoryStream ms = new System.IO.MemoryStream();
    ms.Write(buffer,0,buffer.Length);
    ms.Seek(0,System.IO.SeekOrigin.Begin);
    DataSet ds = new DataSet();
    ds.ReadXml(ms);
      

  3.   

    string strXmlData ="
      <DataTable1 >
        <row Display=\"True\" Fixed=\"true\" Caption=\"ID\" / >
        <row Display=\"True\" Fixed=\"true\" Caption=\"Name\" / >
      </DataTable1 >
    "; StringReader sr = new StringReader(strXmlData);
    DataSet ds = new DataSet();
    // 读取到dataset就可以了,数据会保存到ds中的datatable中
    ds.ReadXml(sr);
      

  4.   

     楼上几位基本上都是对的
    就是实例化一个XML对象,然后读到table里面
      

  5.   

    给你个例子:
    //先加入dom4j.jar包 
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;/**
     * @description 解析xml字符串
     * @author 无处不在
     * @Time 上午11:01:31
     */
    public class Test {    public void readStringXml(String xml) {
            Document doc = null;
            try {            // 读取并解析XML文档
                // SAXReader就是一个管道,用一个流的方式,把xml文件读出来
                // 
                // SAXReader reader = new SAXReader(); //User.hbm.xml表示你要解析的xml文档
                // Document document = reader.read(new File("User.hbm.xml"));
                // 下面的是通过解析xml字符串的
                doc = DocumentHelper.parseText(xml); // 将字符串转为XML            Element rootElt = doc.getRootElement(); // 获取根节点
                System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称            Iterator iter = rootElt.elementIterator("head"); // 获取根节点下的子节点head            // 遍历head节点
                while (iter.hasNext()) {                Element recordEle = (Element) iter.next();
                    String title = recordEle.elementTextTrim("title"); // 拿到head节点下的子节点title值
                    System.out.println("title:" + title);                Iterator iters = recordEle.elementIterator("script"); // 获取子节点head下的子节点script                // 遍历Header节点下的Response节点
                    while (iters.hasNext()) {                    Element itemEle = (Element) iters.next();                    String username = itemEle.elementTextTrim("username"); // 拿到head下的子节点script下的字节点username的值
                        String password = itemEle.elementTextTrim("password");                    System.out.println("username:" + username);
                        System.out.println("password:" + password);
                    }
                }
                Iterator iterss = rootElt.elementIterator("body"); ///获取根节点下的子节点body
                // 遍历body节点
                while (iterss.hasNext()) {                Element recordEless = (Element) iterss.next();
                    String result = recordEless.elementTextTrim("result"); // 拿到body节点下的子节点result值
                    System.out.println("result:" + result);                Iterator itersElIterator = recordEless.elementIterator("form"); // 获取子节点body下的子节点form
                    // 遍历Header节点下的Response节点
                    while (itersElIterator.hasNext()) {                    Element itemEle = (Element) itersElIterator.next();                    String banlce = itemEle.elementTextTrim("banlce"); // 拿到body下的子节点form下的字节点banlce的值
                        String subID = itemEle.elementTextTrim("subID");                    System.out.println("banlce:" + banlce);
                        System.out.println("subID:" + subID);
                    }
                }
            } catch (DocumentException e) {
                e.printStackTrace();        } catch (Exception e) {
                e.printStackTrace();        }
        }    /**
         * @description 将xml字符串转换成map
         * @param xml
         * @return Map
         */
        public static Map readStringXmlOut(String xml) {
            Map map = new HashMap();
            Document doc = null;
            try {
                doc = DocumentHelper.parseText(xml); // 将字符串转为XML
                Element rootElt = doc.getRootElement(); // 获取根节点
                System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称            Iterator iter = rootElt.elementIterator("head"); // 获取根节点下的子节点head
                // 遍历head节点
                while (iter.hasNext()) {                Element recordEle = (Element) iter.next();
                    String title = recordEle.elementTextTrim("title"); // 拿到head节点下的子节点title值
                    System.out.println("title:" + title);
                    map.put("title", title);                Iterator iters = recordEle.elementIterator("script"); // 获取子节点head下的子节点script                // 遍历Header节点下的Response节点
                    while (iters.hasNext()) {                    Element itemEle = (Element) iters.next();                    String username = itemEle.elementTextTrim("username"); // 拿到head下的子节点script下的字节点username的值
                        String password = itemEle.elementTextTrim("password");                    System.out.println("username:" + username);
                        System.out.println("password:" + password);
                        map.put("username", username);
                        map.put("password", password);                }
                }            Iterator iterss = rootElt.elementIterator("body"); ///获取根节点下的子节点body
                // 遍历body节点
                while (iterss.hasNext()) {
                    Element recordEless = (Element) iterss.next();
                    String result = recordEless.elementTextTrim("result"); // 拿到body节点下的子节点result值
                    System.out.println("result:" + result);                Iterator itersElIterator = recordEless.elementIterator("form"); // 获取子节点body下的子节点form
                    // 遍历Header节点下的Response节点
                    while (itersElIterator.hasNext()) {                    Element itemEle = (Element) itersElIterator.next();                    String banlce = itemEle.elementTextTrim("banlce"); // 拿到body下的子节点form下的字节点banlce的值
                        String subID = itemEle.elementTextTrim("subID");                    System.out.println("banlce:" + banlce);
                        System.out.println("subID:" + subID);
                        map.put("result", result);
                        map.put("banlce", banlce);
                        map.put("subID", subID);
                    }
                }
            } catch (DocumentException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return map;
        }    public static void main(String[] args) {        // 下面是需要解析的xml字符串例子
            String xmlString = "<html>" + "<head>" + "<title>dom4j解析一个例子</title>"
                    + "<script>" + "<username>yangrong</username>"
                    + "<password>123456</password>" + "</script>" + "</head>"
                    + "<body>" + "<result>0</result>" + "<form>"
                    + "<banlce>1000</banlce>" + "<subID>36242519880716</subID>"
                    + "</form>" + "</body>" + "</html>";        /*
             * Test2 test = new Test2(); test.readStringXml(xmlString);
             */
            Map map = readStringXmlOut(xmlString);
            Iterator iters = map.keySet().iterator();
            while (iters.hasNext()) {
                String key = iters.next().toString(); // 拿到键
                String val = map.get(key).toString(); // 拿到值
                System.out.println(key + "=" + val);
            }
        }}