永发信息网

读取XML的问题

答案:2  悬赏:40  手机版
解决时间 2021-05-08 22:53

xml 如下

<?xml version="1.0" encoding="utf-8" ?>
<books>
<book id="1">
<name>三部曲</name>
<Price>12</Price>
<Author>jim</Author>
<book>
<book id="2">
<name>红玛瑙</name>
<Price>41</Price>
<Author>tom</Author>
<book>
<book id="3">
<name>蓝天的故乡</name>
<Price>16</Price>
<Author>helen</Author>
<book>
</books>

我想要的效果是 直接调用1个方法

比如

renturnBook(string id,string value)

前面ID就是BOOK的ID,后面是传入1个字段名,比如 NAME啊,或者Price啊,或者Author,返回值为STRING 类型.

例子:returnBook("1","name") ,返回的就是ID为1的书的名字“三部曲”

谁能给个具体的代码哦,不是很熟悉操作XML,.net C#的.很着急..


最佳答案
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string result = renturnBook("1", "name");
Console.WriteLine("结果:{0}", result);
Console.Read();
}
public static string renturnBook(string id,string value)
{
XmlDocument doc = new XmlDocument();
doc.Load(@"C:\Documents and Settings\HP\桌面\ConsoleApplication1\ConsoleApplication1\Books.xml");
XmlElement ele = doc.DocumentElement;
string result = "";
foreach (XmlNode node in ele.ChildNodes)
{
string idstr = ((XmlElement)node).GetAttribute("id");
if (idstr.Equals(id))
{
foreach (XmlNode childnode in node.ChildNodes)
{
if (((XmlElement)childnode).Name.Equals(value))
result = childnode.InnerText;
}
}
}

return result;
}
}
}
已经测试 修改XML文件的路径为你的路径即可 运行
全部回答
贴一个正规的XML文件,我给你写一个例子
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
本人想在街边摆地摊啊,我想卖的是饰品之类的
近义词,清新对什么,欣赏对什么
中国邮政(仓房邮政支局)这个地址在什么地方,
帮我设计QQ好友分组
有多少人死于的迈克尔、杰克逊演唱会?
我补报的高职高专二批为啥还没被录取?
身无分文有无创业机会?
qq农场为什么收不了,上别人的号他却能收
公司欢迎横幅标语大全,战略合作伙伴座谈会的
赵子沟地址有知道的么?有点事想过去
什么药治咳嗽疗效好?还有平常的饮食方面呢?
怎么样才能让她懂我的心?
这号的空间我也开了一个月了,访问权限还不能
国庆节企业祝福短信,节日祝福短信如何回复
龙岩市比亚迪专卖店3带天窗售价多少钱包牌包
推荐资讯
新文通讯我想知道这个在什么地方
到韩国最经济的花费
我爱一个人该怎么半?????
怎么让自己心变硬 不要好心没好报
地下城勇士今天维护好那个活动开宝箱, 极品装
大足石刻和龙水西湖周边的农家乐住宿多少钱?
步步高学习机的最低优惠价是多少?
50级升60级,奖励是什么?
现在渔歌晚唱14级强仙法武器45%以上是多少钱
谁知道CF武器加强怎么弄?
一个男孩说我很单纯、心很美这是什么情况?
魏晨的《LOMO森林》郑州哪有卖?价钱?普通版
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?