C#读取XML节点属性,急~在线等~

<TreeNode><TreeNodetype="WebApplication"id="992425dc-8dfe-47dd-abb6-19077778e9eb"name... <TreeNode>
<TreeNode type="WebApplication" id="992425dc-8dfe-47dd-abb6-19077778e9eb" name="http://client3-lhj:9100/" security="False" property="False">
<TreeNode type="Site" id="4137f30a-ba21-47d9-b5b4-0013e352fa37" name="http://client3-lhj:9100/sites/t1" security="False" property="False">
<TreeNode type="Web" id="714deab8-8f99-42bb-b3c2-f43bb938d783" name="." security="False" property="False">
<TreeNode type="Web" id="346a0106-c30f-4fa9-b315-28c82150ce36" name="sub1" security="True" property="True">
<TreeNode type="Folder" id="86400067-884d-4c4f-b8de-69e6e9b07ba1" name="{System Folder}" security="True" property="True" DirName="sites/t1/sub1" listType="GenericList">
<TreeNode type="Folder" id="8f43ca32-69ad-41aa-819a-5c07f9c982e5" name="Lists" security="True" property="True" DirName="sites/t1/sub1/Lists" listType="GenericList" />
<TreeNode type="Folder" id="c9aaf791-ebfb-4f84-bfcb-6283170a07ad" name="_catalogs" security="True" property="True" DirName="sites/t1/sub1/_catalogs" listType="GenericList" />
<TreeNode type="Folder" id="234e92e0-3d85-45d8-aa47-6f68dff05ea5" name="m" security="True" property="True" DirName="sites/t1/sub1/m" listType="GenericList" />
<TreeNode type="Folder" id="62d5a789-bcbc-46e8-9040-8be95ab6de3d" name="images" security="True" property="True" DirName="sites/t1/sub1/images" listType="GenericList" />
<TreeNode type="Folder" id="ac5092db-b0b7-42da-b621-963a7fc8415e" name="_private" security="True" property="True" DirName="sites/t1/sub1/_private" listType="GenericList" />
</TreeNode>

</TreeNode>
</TreeNode>
</TreeNode>
</TreeNode>
</TreeNode>

这是xml文件,我要做的是:
1、输入任何一个节点的Name,把它一层的孩子节点都取出,输出到屏幕。
2、输入type类型,把同类型的节点全部取出,输出到屏幕。
3、输入type和name,生成一个新的节点,在指定Name下面作为孩子存在。
求高手帮助!
展开
 我来答
房雁凡s9
2011-02-10 · TA获得超过1360个赞
知道小有建树答主
回答量:504
采纳率:100%
帮助的人:500万
展开全部
控制台应用程序中测试
static void Main(string[] args)
{
XmlDocument xd = new XmlDocument();
xd.Load("XMLFile1.xml");

Console.WriteLine("根据节点的Name查找,请输入Name:");
string name = Console.ReadLine().Trim();
XmlNode xn = xd.SelectSingleNode("//TreeNode[@name='" + name + "']");
if (xn != null)
{
Console.WriteLine(xn.OuterXml);
}

Console.WriteLine("\n根据节点的type查找,请输入type:");
string type = Console.ReadLine().Trim();
XmlNodeList xnl1 = xn.SelectNodes("//TreeNode[@type='" + type + "']");
foreach (XmlNode xni in xnl1)
{
Console.WriteLine(string.Format("\n<TreeNode type=\"{0}\" id=\"{1}\" name=\"{2}\" security=\"{3}\" property=\"{4}\">", xni.Attributes["type"].Value, xni.Attributes["id"].Value, xni.Attributes["name"].Value, xni.Attributes["security"].Value, xni.Attributes["property"].Value));
}

Console.WriteLine("\n输入type与name创建新节点\n请输入type:");
string ctype = Console.ReadLine().Trim();
Console.WriteLine("\n输入name:");
string cname = Console.ReadLine().Trim();
XmlNode fxd = xd.SelectSingleNode("//TreeNode[@name='" + name + "']");
if (fxd == null)
{
Console.WriteLine(string.Format("\nname为{0}的节点不存在,创建节点失败!", cname));
Console.ReadLine();
}
else
{
XmlElement xe=xd.CreateElement("TreeNode");
xe.SetAttribute("type",ctype);
fxd.AppendChild(xe);
xd.Save("XMLFile1.xml");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式