会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
hsrzyn
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。
博客园
首页
联系
管理
订阅
.net与XML之"读"——"XmlDocument"
这是使用DOM(Document Object Model 文档对象模型)来处理xml文档的,是来自W3C的官方标准
XmlDocument类是XML文档的.NET表示形式,它代表了内存中树状结构的文档节点
Code
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Xml;
namespace
XMLConsoleApplication
{
class
Program
{
static
void
Main(
string
[] args)
{
XmlDocument xmlDoc
=
new
XmlDocument();
xmlDoc.Load(
"
E:\\myWriter.xml
"
);
//
遍历
//
获取根节点
XmlNode root
=
xmlDoc.DocumentElement;
Console.WriteLine(
"
根节点 :
"
+
root.Name);
Console.WriteLine(
"
——————————————————————————---
"
);
//
获取根节点的下一级子节点lxrs
XmlNodeList lxrs
=
root.ChildNodes;
for
(
int
i
=
0
; i
<
lxrs.Count; i
++
)
{
//
根节点的子节点
XmlNode lxr
=
lxrs[i];
Console.WriteLine(
"
第一级节点名 :
"
+
lxr.Name);
//
节点值
Console.WriteLine(
"
第一级节点值 :
"
+
lxr.InnerText);
Console.WriteLine(
"
第一级节点 :
"
+
lxr.OuterXml);
//
判断是否包含子节点
if
(lxrs[i].HasChildNodes)
{
//
获取lxrs的子节点lxr
XmlNodeList lxrinfos
=
lxr.ChildNodes;
for
(
int
j
=
0
; j
<
lxrinfos.Count; j
++
)
{
XmlNode lxrinfo
=
lxrinfos[j];
Console.WriteLine(
"
\t第二级节点名 :
"
+
lxrinfo.Name);
Console.WriteLine(
"
\t第二级节点值 :
"
+
lxrinfo.InnerText);
Console.WriteLine(
"
\t第二级节点 :
"
+
lxrinfo.OuterXml);
}
}
Console.WriteLine(
"
——————————————————————————---
"
);
}
//
使用节点属性引用单个节点
Console.WriteLine(
"
使用节点属性引用单个节点
"
);
XmlNode mylxr;
//
根节点的第一个子节点lxr
mylxr
=
root.FirstChild;
Console.WriteLine(
"
根节点的第一个子节点lxr的属性 :
"
+
mylxr.Attributes[
0
].Name
+
"
--
"
+
mylxr.Attributes[
0
].InnerText
+
"
--
"
+
mylxr.Attributes[
0
].InnerXml
+
"
--
"
+
mylxr.Attributes[
0
].OuterXml);
Console.WriteLine(
"
根节点的第一个子节点lxr :
"
+
mylxr.Name
+
"
--
"
+
mylxr.OuterXml);
//
lxr的第一个子节点
mylxr
=
mylxr.FirstChild;
Console.WriteLine(
"
lxr的第一个子节点 :
"
+
mylxr.Name
+
"
--
"
+
mylxr.OuterXml);
//
lxr的第一个子节点的下一个节点
mylxr
=
mylxr.NextSibling;
Console.WriteLine(
"
lxr的第一个子节点的下一个节点 :
"
+
mylxr.Name
+
"
--
"
+
mylxr.OuterXml);
//
lxr的最后一个节点
//
因为mylxr现在是lxr的子节点,先要通过mylxr.ParentNode找到父节点lxr,然后去的其最后一个节点
mylxr
=
mylxr.ParentNode.LastChild;
Console.WriteLine(
"
lxr的最后一个节点 :
"
+
mylxr.Name
+
"
--
"
+
mylxr.OuterXml);
}
}
}
这与用Javascript读取xml很相似……
posted @
2009-09-30 11:34
hsrzyn
阅读(
224
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告