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。

    兩方法的區別在於:前者讀取指定節點,後者是讀所有節點。
  • 相关阅读:
    IIS支持apk文件下载
    【转】Winform输入法控制
    WebRequest请求Url中文乱码
    c#实现Form窗体始终在桌面最前端显示
    在静态页面中使用 Vue.js
    NPOI 的使用姿势
    C# 模拟 HTTP POST请求
    WinForm 绑定到嵌套对象上的属性
    彻底清除 Windows 服务
    WPF DataGrid 绑定行双击行命令
  • 原文地址:https://www.cnblogs.com/HD/p/118897.html
Copyright © 2011-2022 走看看