首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

高分求解 .net中如何去取xml文件中的节点及属性

2012-01-21 
高分求解 .net中怎么去取xml文件中的节点及属性xml文件:a.xml?xml version1.0 encodingutf-8 ?a

高分求解 .net中怎么去取xml文件中的节点及属性
xml文件:
a.xml
<?xml version="1.0" encoding="utf-8" ?>
<a a1="1" a2="2">
  <b b1="1">b</b>
  abc
  <c c1="1">c</c>
  abcd
  <d d1="1">
  <e e1="1">e</e>
  </d>
  abcde
</a>

我要去a节点的属性和a的儿子节点!不要儿子节点下的属性和儿子子节点一下的节点!也就是说 b c d 节点的属性不要 和e节点都不用!怎么做啊!谁能告诉我!


[解决办法]

C# code
 XmlDocument x = new XmlDocument();            x.Load("..\\..\\a.xml");            XmlNode n = x.SelectSingleNode("/root/a");            XmlNodeList nl = n.ChildNodes;            foreach (XmlNode no in nl)            {                if (no.NodeType == XmlNodeType.Element)                 richTextBox1.AppendText(no.Name + "\r\n");            }            for (int i = 0; i < n.Attributes.Count; i++)            {                richTextBox1.AppendText(n.Attributes[i].Name + "\r\n");            }
[解决办法]
XmlDocument doc = new XmlDocument();
doc.Load(@"D:\Project\C#Test\WindowsApplication1\WindowsApplication2\XMLFile3.xml");
XmlNode node = doc.SelectSingleNode("/root/a");
foreach (XmlNode el in node.ChildNodes)
{
if (el.Name != "e")
{
Debug.WriteLine("nodeType:"+el.NodeType);
Debug.WriteLine("Text:" + el.InnerText);
if (el.Attributes != null)
{
foreach (XmlAttribute att in el.Attributes)
{
Debug.WriteLine("XmlAttribute:" + att.InnerText);
}
}

}
}
[解决办法]
C# code
 XmlDocument x = new XmlDocument();            x.Load(Application.StartupPath+"\\a.xml");            XmlNodeList n = x.SelectNodes("/root/a");            foreach (XmlNode xm in n)            {                for (int i = 0; i < xm.Attributes.Count; i++)                {                    richTextBox1.AppendText(xm.Attributes[i].Name + "--" + xm.Attributes[i].Value + "\r\n");                }                XmlNodeList nl = xm.ChildNodes;                foreach (XmlNode no in nl)                {                    if (no.NodeType == XmlNodeType.Element)                        richTextBox1.AppendText(no.Name + "--" + no.InnerText + "\r\n");                }            }
[解决办法]
LZ把想要的结果写出个例子来.这样大家好有目标.
在问题上加个补充.
[解决办法]
C# code
XmlDocument x = new XmlDocument();x.Load(Application.StartupPath+"\\a.xml");XmlNodeList n = x.SelectNodes("/root/a");foreach (XmlNode xm in n){    richTextBox1.AppendText("a:element");    for (int i = 0; i < xm.Attributes.Count; i++)    {         richTextBox1.AppendText("  attribute:"+xm.Attributes[i].Name + "  value="+xm.Attributes[i].Value );    }    richTextBox1.AppendText("\r\n");    XmlNodeList nl = xm.ChildNodes;    foreach (XmlNode no in nl)    {      if (no.NodeType == XmlNodeType.Element)      richTextBox1.AppendText(" element:"+no.Name + " value=" + no.InnerText);    }    richTextBox1.AppendText("\r\n");} 

热点排行