首页 > 解决方案 > 在数据网格视图 C# 中打印 XML 数据

问题描述

 <Tools ID="RDM">
  <ButtonTool>
    <Item ID="IS" TYPE="IS" NAME="IS" COLUMN_ID="ID" ORDERNO="UID" />
    <Item ID="CS" TYPE="PROC" NAME="ABC">
      <Path>C:\ProgramData\base\VLaunch.exe</Path>
      <Parameter>/USERID=acc /USERPASS=abc /ID=ITEM /QUERY</Parameter>
    </Item>
    <Item ID="APPLICATION" TYPE="PROC" NAME="XYZ">
      <Path>D:\ACT\bin\ACTLancher.exe</Path>
      <Parameter>%U %I -APPLICATION $$PATIENTID$$ CT $$RDM_UID$$</Parameter>
    </Item>
    <Item ID="REPO" TYPE="PROC" NAME="AAA">
      <Path>C:\app\LUC\Launcher.exe</Path>
      <Parameter>/USERID=acc /USERPASS=abc /ID=ITEM</Parameter>
    </Item>
  </ButtonTool>
</Tools>

我是这个领域的新手,遇到了一些问题,这是一个我想在数据网格视图中打印的 xml 文件,我可以在网格中打印项目标签的值,但不能打印路径和网格中的参数标记。我尝试使用 SelectingsingleNode 但它总是会打印网格中的第一个路径和参数。到目前为止我使用的代码如下....任何帮助将不胜感激

   XmlNodeList nl = _doc.SelectNodes("Tools/ButtonTool/Item");
                for (int i = 0; i < nl.Count; i++)
                {
                    string sType = base.Com.GetAttri(nl[i], "TYPE", "");
                    if (sType == "RIS")
                    {
                        _dt.Rows.Add(base.Com.GetAttri(nl[i], "ID", ""),
                                  base.Com.GetAttri(nl[i], "TYPE", ""),
                                  base.Com.GetAttri(nl[i], "NAME", ""),
                                  base.Com.GetAttri(nl[i], "COLUMN_ID", ""),
                                  base.Com.GetAttri(nl[i], "ORDERNO", ""));
                    }
                    else
                    {
                        //for (int j = 0; j < nl.Count; j++)
                        //{
                        XmlNodeList pl = _doc.SelectNodes("Tools/ButtonTool/Item/Path");
                        txtPath.Text = pl.ToString();
                        XmlNode ppl = _doc.SelectSingleNode("Tools/ButtonTool/Item/Parameter");
                        txtUser.Text = ppl.InnerText;
                        //string Path = txtPath.Text;
                        _dt.Rows.Add(base.Com.GetAttri(nl[i], "ID", ""),
                              base.Com.GetAttri(nl[i], "TYPE", ""),
                              base.Com.GetAttri(nl[i], "NAME", ""),
                              base.Com.GetAttri(nl[i], "COLUMN_ID", ""),
                              base.Com.GetAttri(nl[i], "ORDERNO", ""), txtUser.Text, txtPath.Text
                              );
                        //}

                    }

标签: c#xmlnodelist

解决方案


推荐阅读