Thứ hai, ngày 5 tháng 12 năm 2016

Các cách đọc và viết file XML trên DotNetNuke

Ngày đăng: 23/9/2011, 9:8:25AM | Lượt xem: 3,418
Hot!

Các thao tác cơ bản làm việc với XML trên DotNetNuke

Đầu tiên ta tạo các biến lưu đường dẫn đến các file xml
private string strImageXMLFilePath = Null.NullString;
private string strImageXMLFilePathInServer = Null.NullString;
protected void Page_Load(System.Object sender, System.EventArgs e)
{
     try
     {
          strImageXMLFilePath = ModulePath + "xml/ImageList.xml";
          strImageXMLFilePathInServer = Server.MapPath(strImageXMLFilePath);
 
          strImageXMLFilePath_1 = ModulePath + "xml/ImageList1.xml";
          strImageXMLFilePathInServer_1 = Server.MapPath(strImageXMLFilePath_1);
 
Đây là hàm load toàn bộ nội dung file và đưa ra textbox. Ta không xử lý gì. Nội dung file được đưa vào StreamReader. Cách này được dùng nếu ta có ý đưa file cho 1 bên thứ ba (ví dụ như Flash code) xử lý.
private void LoadImgeListXMLFile()
{
 
     //read Image List XML file
     if (File.Exists(strImageXMLFilePathInServer))
     {
           StreamReader objStreamReader = File.OpenText(strImageXMLFilePathInServer);
           txtImageListXML.Text = objStreamReader.ReadToEnd();
 
                //DataSet dsImageList = new DataSet();
                //dsImageList.ReadXml(objStreamReader);
 
                //GridView1.DataSource = dsImageList;
                //GridView1.DataBind();
 
            objStreamReader.Close();
 
      }
}
 
Còn đây là hàm ghi toàn bộ nội dung vào file. Toàn bộ text được đưa vào StreamWriter và đưa lên file.
private void UpdateXMLFile()
{
     //Reset XML image list file attributes
     if (File.Exists(strImageXMLFilePathInServer))
     {
          File.SetAttributes(strImageXMLFilePathInServer, FileAttributes.Normal);
      }
 
      //Write XML image list file file
      StreamWriter objStream = File.CreateText(strImageXMLFilePathInServer);
      objStream.WriteLine(txtImageListXML.Text);
      objStream.Close();
}
 
Tiếp theo là cách đọc file XML khác. Ở đây, ta phải đọc từng element trong file để xử lý cho phù hợp. Nội dung file được đưa vào object XmlTextReader.
private void ReadXML1()
        {
            if (File.Exists(strImageXMLFilePathInServer) == true)
            {
                Label1.Text = "File co ton tai 1";
            }
            else
            {
                Label1.Text = "File ko ton tai =>ko doc";
                return;
            }
           
            XmlTextReader textReader = new XmlTextReader(strImageXMLFilePathInServer_1);
 
            textReader.Read();
 
            // If the node has value
 
            while (textReader.Read())
            {
                XmlNodeType nType = textReader.NodeType;
                // If node type us a declaration
                if (nType == XmlNodeType.XmlDeclaration)
                {                   
                }
                // if node type is a comment
                if (nType == XmlNodeType.Comment)
                {
                   
                }
                // if node type us an attribute
                if (nType == XmlNodeType.Attribute)
                {                   
                }
                // if node type is an element
                if (nType == XmlNodeType.Element)
                {
                    txtXML.Text +=textReader.Name.ToString()+"\n";
                }
                if (nType == XmlNodeType.Text)
                {
                    txtXML.Text += textReader.Value.ToString()+" la v \n";
                }
                // if node type is an entity\
                if (nType == XmlNodeType.Entity)
                {
                
                }
                // if node type is a Process Instruction
                if (nType == XmlNodeType.Entity)
                {
                
                }
                // if node type a document
                if (nType == XmlNodeType.DocumentType)
                {
                
                }
                // if node type is white space
                if (nType == XmlNodeType.Whitespace)
                {
                   
                }
            }
        }
Và cuối cùng là cách ghi file bẳng cách đọc từng element và ghi vào.
private void WriteXMLFile_1()
        {
            if (File.Exists(strImageXMLFilePathInServer) == true)
            {
                Label1.Text = "File co ton tai";
            }
            else
            {
                Label1.Text = "File ko ton tai";
            }
            XmlTextWriter textWriter = new XmlTextWriter(strImageXMLFilePathInServer_1, null);
 
            // Opens the document
 
            textWriter.WriteStartDocument();
 
 
            textWriter.WriteStartElement("Student");
            textWriter.WriteString("\n");
            textWriter.WriteStartElement("r");
            textWriter.WriteString("\n");
            // Write next element
 
            textWriter.WriteStartElement("Name", "");
 
            textWriter.WriteString("Student");
 
            textWriter.WriteEndElement();
            textWriter.WriteString("\n");
 
            // Write one more element
 
            textWriter.WriteStartElement("Address", "");
            textWriter.WriteString("Colony");
 
            textWriter.WriteEndElement();
            textWriter.WriteString("\n");
            textWriter.WriteEndElement();
            textWriter.WriteString("\n");
 
            // Ends the document.
 
            textWriter.WriteEndDocument();
 
            // close writer
 
            textWriter.Close();
        }

 

 Chia sẻ qua: 
Hot!
Ý kiến bạn đọc

These items will be permanently deleted and cannot be recovered. Are you sure?

Gallery

image

Maecenas viverra rutrum pulvinar

Maecenas viverra rutrum pulvinar! Aenean vehicula nulla sit amet metus aliquam et malesuada risus aliquet. Vestibulum rhoncus, dolor sit amet venenatis porta, metus purus sagittis nisl, sodales volutpat elit lorem…

Read more

Text Links

Thiết kế logo chuyên nghiệp Insky
DAFABET
W88 w88b.com/dang-ky-tai-khoan-w88
W88
Copyright © 2011 - 2012 vietshare.vn by phamkhuong102@gmail.com doanhkisi2315@gmail.com. All rights reserved.