我的具体问题如下:xml文件:<?xml version="1.0" encoding="GB2312"?>
<languagePack> <base>
<pager_prev>前页</pager_prev>
<pager_next>后页</pager_next>
<pager_first>首页</pager_first>
<pager_last>尾页</pager_last>
<pager_pages>分页</pager_pages>
<read_detail>[查看全文]</read_detail>
</base>

<admin.aspx>
<open_menu>打开左边管理菜单</open_menu>
<close_menu>关闭左边管理菜单</close_menu>
<modify>修改</modify>
<send_mail>发送邮件</send_mail>
</admin.aspx>

<admin_login.aspx>
<relogin>重登陆</relogin>
<logout>退出登陆</logout>
<admin_news>新闻管理</admin_news>
<news_add>添加新闻</news_add>
</admin_login.aspx></languagePack>
我如何自定义函数或别的办法任意读取xml文件中的中文词将它插入到网页中的任意位置.我用的工具是.net c# 代码分离的写法.具体是怎么应该怎么写?急!!!!

解决方案 »

  1.   

    DataSet.ReadXml() 方法,到了DataSet里就好办了.
      

  2.   

    不行啊,我已经用过了
    public string malong()
    {
    DataSet myMM=new DataSet();
    myMM.ReadXml(MapPath("../language/language.xml"));
    }
    结果不对呀
    gshope 您能具体告诉我吗?谢谢!!
      

  3.   

    你得先学一下XPath
    http://www.w3schools.com/xpath/default.asp
      

  4.   

    msdn有中文的。装一个。上面例子代码也有。
      

  5.   

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(MapPath("../language/language.xml"));
    XmlNodeList elemList = doc.GetElementsByTagName("base");
    具体如何用,自己去查MSDN文档
      

  6.   

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(MapPath("../language/language.xml"));
    XmlNodeList elemList = doc.GetElementsByTagName("base");
    具体如何用,自己去查MSDN文档
      

  7.   

    private void DemonstrateReadWriteXMLDocumentWithXMLReader(){
       // Create a DataSet with one table and two columns.
       DataSet OriginalDataSet = new DataSet("myDataSet");
        OriginalDataSet.Namespace= "NetFrameWork";
       DataTable myTable = new DataTable("myTable");
       DataColumn c1 = new DataColumn("id", Type.GetType("System.Int32"));
       c1.AutoIncrement= true;
       DataColumn c2 = new DataColumn("item");
       myTable.Columns.Add(c1);
       myTable.Columns.Add(c2);
       OriginalDataSet.Tables.Add(myTable);
       // Add ten rows.
       DataRow newRow;
       for(int i = 0; i < 10; i++){
          newRow = myTable.NewRow();
          newRow["item"]= "item " + i;
          myTable.Rows.Add(newRow);
       }
       OriginalDataSet.AcceptChanges();
       // Print out values of each table in the DataSet using the 
       // function defined below.
       PrintValues(OriginalDataSet, "Original DataSet");
       // Write the XML schema and data to file with FileStream.
       string xmlFilename = "myXmlDocument.xml";
       // Create FileStream    
       System.IO.FileStream fsWriteXml = new System.IO.FileStream
          (xmlFilename, System.IO.FileMode.Create);
       // Create an XmlTextWriter to write the file.
       System.Xml.XmlTextWriter xmlWriter = new System.Xml.XmlTextWriter
          (fsWriteXml, System.Text.Encoding.Unicode);
       // Use WriteXml to write the document.
       OriginalDataSet.WriteXml(xmlWriter);
       // Close the FileStream.
       fsWriteXml.Close();
          
       // Dispose of the original DataSet.
       OriginalDataSet.Dispose();
       // Create a new DataSet.
       DataSet newDataSet = new DataSet("New DataSet");
          
       // Read the XML document back in. 
       // Create new FileStream to read schema with.
       System.IO.FileStream fsReadXml = new System.IO.FileStream
          (xmlFilename, System.IO.FileMode.Open);
       // Create an XmlTextReader to read the file.
       System.Xml.XmlTextReader myXmlReader = 
          new System.Xml.XmlTextReader(fsReadXml);
       // Read the XML document into the DataSet.
       newDataSet.ReadXml(myXmlReader);
       // Close the XmlTextReader
       myXmlReader.Close();   // Print out values of each table in the DataSet using the 
       // function defined below.
       PrintValues(newDataSet,"New DataSet");
    }private void PrintValues(DataSet ds, string label){
       Console.WriteLine("\n" + label);
       foreach(DataTable t in ds.Tables){
          Console.WriteLine("TableName: " + t.TableName);
          foreach(DataRow r in t.Rows){
             foreach(DataColumn c in t.Columns){
                Console.Write("\t " + r[c] );
             }
             Console.WriteLine();
          }
       }
    }
      

  8.   

    使用xpath查询
    http://www.microsoft.com/china/MSDN/library/netFramework/netframework/XPathandXSLT.mspx
    http://www.microsoft.com/china/MSDN/library/data/xml/XMLXSLTKey.mspx
    http://www.microsoft.com/china/MSDN/library/data/xml/XPathintr.mspx
      

  9.   

    public string malong()
    {
    DataSet myMM=new DataSet();
    myMM.ReadXml(MapPath("../language/language.xml"));
    }
    。。楼主的变量命名很有创意啊,myMM。。呵呵
      

  10.   

    比如你要取<pager_prev>前页</pager_prev>里的前页XmlDocument doc=new XmlDocument();
    doc.Load("你的xml地址");
    XmlNode node = doc.SelectSingleNode("languagePack/base/pager_prev");
    string nodeTitle = node.InnerText;
      

  11.   

    函数的话,试试这样public string ReadXml(string xmlPath,string nodePath)
    {
    XmlDocument doc=new XmlDocument();
    doc.Load(xmlPath);
    XmlNode node = doc.SelectSingleNode(nodePath);
    string nodeTitle = node.InnerText;
    return nodeTitle;
    }