zoukankan      html  css  js  c++  java
  • [ASP.net]XML操作相關

    以前寫過一個操作XML的相關類。其中有一段是讀取節點值的。
    下面代碼:
            public DataView GetData(string XmlPathNode)
            
    {
                
    //Get XML Date,return DataView
                try
                
    {
                    StringReader read 
    = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
                    ds.ReadXml(read);
                }

                
    catch
                
    {
                    objError.ProgramError();
                }

                
    if ( ds.Tables.Count == 0 )
                
    {
                    
    return new DataView();
                }

                
    return ds.Tables[0].DefaultView;
            }

    此方法是讀取XML數據中指定節點及值。後來在一位朋友改寫了下代碼:
            public DataView GetData(string XmlPathNode)
            
    {
                
    //Get XML Date,return DataView
                try
                
    {
    //                System.IO.StringReader read = new System.IO.StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
                    XmlNodeList xnl = objXmlDoc.GetElementsByTagName(XmlPathNode);
                    System.Text.StringBuilder strXml 
    = new System.Text.StringBuilder();
                    strXml.Append( 
    "<?xml version='1.0' ?><root>" );
                    
    for (int i=0; i<xnl.Count; i++)
                    
    {
                        strXml.Append( xnl[i].OuterXml );
                    }

                    strXml.Append( 
    "</root>" );
                    System.IO.StringReader read 
    = new System.IO.StringReader( strXml.ToString() );
                    ds.ReadXml(read);
                }

                
    catch
                
    {
                    
    //
                }

                
    return ds.Tables[0].DefaultView;
            }

    此方法是讀取所有XmlPathNode節點及值,重新生成一個XML,返回DataView。

    兩方法的區別在於:前者讀取指定節點,後者是讀所有節點。
  • 相关阅读:
    mysql sum 重复计算_mysql join sum时数据重复问题及解决方案
    mysql数据库中,查询一个表的下一条数据减上一条数据的值的写法
    FROM_UNIXTIME 格式化MYSQL时间戳函数
    Mysql 中日期类型bigint和datetime互转
    mysql 按照指定字段的指定数据进行排序 filed函数
    MYSQL使用group by,如何查询出总记录数
    iptables添加开放端口
    MySQL之You can't specify target table for update in FROM clause解决办法
    epoll 使用 LT + 非阻塞 IO 和 ET + 非阻塞 IO 比较
    sizeof和strlen的比较
  • 原文地址:https://www.cnblogs.com/HD/p/118897.html
Copyright © 2011-2022 走看看