用正则表达式匹配。(\w*) *(\w*) *(\w*) *(\w*)

解决方案 »

  1.   

    先把数据读出来,再用XMLWriter写出.
      

  2.   

    方法一
     DataSet ds=New DataSet()
     Ds1 = Form_DS_Load("E:\OFFICEIN.txt")
     DS1.WriteXml( fileName);
    //大功告成
    '读取文本文件
    public DataSet Form_DS_Load(string filename)
    {
      '读取文件
       If(!File.Exists(filename))
         {  // 不存在", "系统提示
            //    Exit Function
           }
     FileStream fs;
     StreamReader sr;
     fs = New FileStream(filename, FileMode.Open, FileAccess.Read);
      sr = New StreamReader(fs);
     strfileContent = sr.ReadToEnd();
     //按照你的规则定义
     strArray = strfileContent.Split(New Char() {"  "});
     //得到字符后,把相关的字符写进DataSet
     //最后返回DataSet 
     
    }
      

  3.   

    OLEDB 好象支持TEXT吧,或者用XML.Serilize吧,看看帮助xml.seriralize吧
      

  4.   

    我来给你写后半部分如何构造XML,不过是VB.NET的。    Dim m_xmlFile As String
        Dim m_xmlWt As Xml.XmlTextWriter
        Dim m_xmlDoc As Xml.XmlDocument
        Dim m_xmlRootel As Xml.XmlElement    m_xmlFile = "C:\INFO.XML"    m_xmlWt = New Xml.XmlTextWriter(XMLFile, Nothing)
        m_xmlDoc = New Xml.XmlDocument
        m_xmlRootel = m_xmlDoc.CreateElement("INFO")    Dim xmlel_mx As Xml.XmlElement = m_xmlDoc.CreateElement("Info_mx")
        Dim xmlel_nss As Xml.XmlElement = m_xmlDoc.CreateElement("nss")
        Dim xmlel_nsa As Xml.XmlElement = m_xmlDoc.CreateElement("nsa")
        Dim xmlel_nsr As Xml.XmlElement = m_xmlDoc.CreateElement("nsr")
        Dim xmlel_nsj As Xml.XmlElement = m_xmlDoc.CreateElement("nsj")
        Dim xmlel_nsje As Xml.XmlElement = m_xmlDoc.CreateElement("nsje")    xmlel_nss.InnerText ="123456789012345"
        xmlel_nsa.InnerText ="1"
        xmlel_nsr.InnerText ="1"
        xmlel_nsj.InnerText ="4563346.00"
        xmlel_nsje.InnerText ="775768.82 "    xmlel_mx.AppendChild(nss)
        xmlel_mx.AppendChild(nsa)
        xmlel_mx.AppendChild(nsr)
        xmlel_mx.AppendChild(nsj)
        xmlel_mx.AppendChild(nsje)    m_xmlRootel.AppendChild(xmlel_mx)    m_xmlWt.WriteStartDocument()
        m_xmlDoc.AppendChild(m_xmlRootel)
        m_xmlDoc.WriteTo(m_xmlWt)
        m_xmlWt.Close()自己修改一下就能用了。:)
      

  5.   

    我这里有个用控件做广告轮播的例子。因为该控件也是要靠一个xml文件控制,
    所以才做后台添加和删除的时候要重新写入一个xml文件,
    我的做法是把要变的内容存到库中做中介,然后将其内容读出来匹配成合要求的
    内容,然后生成xml并保存
    下面是关键代码你看看。
    这也是我在这里别人交我用的XmlDataDocument这个类才写出来,希望对你也有用
    try
    {
    string xml="<?xml version=\"1.0\" encoding=\"gb2312\"?>";
    xml+="<Advertisements>";
    //读库循环生成合要求的xml文件
    MyDataBase MyRead=new MyDataBase();
    MyRead.SqlString="select * from tb_adv";
    int Count=MyRead.GetDataSet.Tables[0].Rows.Count;
    for(int i=0;i<Count;i++)
    {
    xml+="<Ad>";
    //读imageurl字段
    xml+="<ImageUrl>"+MyRead.GetDataSet.Tables[0].Rows[i]["imageurl"].ToString()+"</ImageUrl>";
    //读navigateurl
    xml+="<NavigateUrl>"+MyRead.GetDataSet.Tables[0].Rows[i]["navigateurl"].ToString()+"</NavigateUrl>";
    //读alternatetext
    xml+="<AlternateText>"+MyRead.GetDataSet.Tables[0].Rows[i]["alternatetext"].ToString()+"</AlternateText>";
    //读Keyword
    xml+="<Keyword>"+MyRead.GetDataSet.Tables[0].Rows[i]["Keyword"].ToString()+"</Keyword>";
    //读impressions
    xml+="<Impressions>"+MyRead.GetDataSet.Tables[0].Rows[i]["impressions"]+"</Impressions>";

    xml+="</Ad>";

    }
    //
    xml+="</Advertisements>";
    //写一个xml文件并Save
    XmlDataDocument xmldoc=new XmlDataDocument();
    xmldoc.LoadXml(xml);
    string xmlUrl=ConfigurationSettings.AppSettings["xmlUrl"]+"ads.xml";
    xmldoc.Save(xmlUrl);
    Response.Redirect("admin_advertisements_list.aspx");