c# 如何让读取xml文件重复节点内的值

我的读取xml节点内的值的函数的参数只有一个:节点路径。比如Dimap_Document/IMAGING_DATE/vertex,那么vertex节点之间的值就读出来了,... 我的读取xml节点内的值的函数的参数只有一个:节点路径。比如Dimap_Document / IMAGING_DATE/vertex,那么vertex节点之间的值就读出来了,可是在Dimap_Document / IMAGING_DATE节点下,有数个vertex,默认读的只是第一个,问如何能够读取其余的vertex节点值,有没有直接的方法还是需要判断等等。
请高手帮忙贴一下代码,或者点明一下。
用循环的话具体怎么实现? 不是直接读出来就可以了,对应着都要赋值的,比方第一个vertex赋给a,第二个vertex赋给b,帮忙实现一下吧,xml文档格式就按zhangmiger兄的那样

若是没有ID呢
展开
 我来答
村头希望8
2009-09-23 · TA获得超过910个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:209万
展开全部
应该可以设置id,根据id获取值

不好意思啦!借用zhangmiger代码一下。
XmlDocument doc = new XmlDocument();
doc.Load("../../XMLFile1.xml");
XmlNodeList nodes = doc.SelectNodes("/Dimap_Document/IMAGING_DATE/vertex");
foreach (XmlNode node in nodes)
{
if(node.Attributes["id"].value=="v2"){
Console.WriteLine(node.InnerText);

}
}
Console.Read();

XMLFile1.xml文件的内容:
<?xml version="1.0" encoding="utf-8" ?>
<Dimap_Document>
<IMAGING_DATE>
<vertex id="v1">
a
</vertex>
<vertex id="v2">
b
</vertex>
<vertex id="v3">
c
</vertex>
</IMAGING_DATE>
</Dimap_Document>
zhangmiger
2009-09-22 · TA获得超过142个赞
知道答主
回答量:153
采纳率:0%
帮助的人:0
展开全部
XmlDocument doc = new XmlDocument();
doc.Load("../../XMLFile1.xml");
XmlNodeList nodes = doc.SelectNodes("/Dimap_Document/IMAGING_DATE/vertex");
foreach (XmlNode node in nodes)
{
Console.WriteLine(node.InnerText);
}
Console.Read();

XMLFile1.xml文件的内容:
<?xml version="1.0" encoding="utf-8" ?>
<Dimap_Document>
<IMAGING_DATE>
<vertex>
1
</vertex>
<vertex>
2
</vertex>
<vertex>
3
</vertex>
</IMAGING_DATE>
</Dimap_Document>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
五任元薇
2020-06-20 · TA获得超过3926个赞
知道大有可为答主
回答量:3168
采纳率:24%
帮助的人:190万
展开全部
应该可以设置id,根据id获取值
不好意思啦!借用zhangmiger代码一下。
XmlDocument
doc
=
new
XmlDocument();
doc.Load("../../XMLFile1.xml");
XmlNodeList
nodes
=
doc.SelectNodes("/Dimap_Document/IMAGING_DATE/vertex");
foreach
(XmlNode
node
in
nodes)
{
if(node.Attributes["id"].value=="v2"){
Console.WriteLine(node.InnerText);
}
}
Console.Read();
XMLFile1.xml文件的内容:
<?xml
version="1.0"
encoding="utf-8"
?>
<Dimap_Document>
<IMAGING_DATE>
<vertex
id="v1">
a
</vertex>
<vertex
id="v2">
b
</vertex>
<vertex
id="v3">
c
</vertex>
</IMAGING_DATE>
</Dimap_Document>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贲亭晚呼诗
2019-09-14 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:25%
帮助的人:886万
展开全部
应该可以设置id,根据id获取值
不好意思啦!借用zhangmiger代码一下。
xmldocument
doc
=
new
xmldocument();
doc.load("../../xmlfile1.xml");
xmlnodelist
nodes
=
doc.selectnodes("/dimap_document/imaging_date/vertex");
foreach
(xmlnode
node
in
nodes)
{
if(node.attributes["id"].value=="v2"){
console.writeline(node.innertext);
}
}
console.read();
xmlfile1.xml文件的内容:
<?xml
version="1.0"
encoding="utf-8"
?>
<dimap_document>
<imaging_date>
<vertex
id="v1">
a
</vertex>
<vertex
id="v2">
b
</vertex>
<vertex
id="v3">
c
</vertex>
</imaging_date>
</dimap_document>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邰丹康静
2019-08-07 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.2万
采纳率:25%
帮助的人:998万
展开全部
应该可以设置id,根据id获取值
不好意思啦!借用zhangmiger代码一下。
XmlDocument
doc
=
new
XmlDocument();
doc.Load("../../XMLFile1.xml");
XmlNodeList
nodes
=
doc.SelectNodes("/Dimap_Document/IMAGING_DATE/vertex");
foreach
(XmlNode
node
in
nodes)
{
if(node.
Attributes
["id"].value=="v2"){
Console.WriteLine(node.InnerText);
}
}
Console.Read();
XMLFile1.
xml文件
的内容:
<?xml
version="1.0"
encoding="utf-8"
?>
<Dimap_Document>
<IMAGING_DATE>
<vertex
id="v1">
a
</vertex>
<vertex
id="v2">
b
</vertex>
<vertex
id="v3">
c
</vertex>
</IMAGING_DATE>
</Dimap_Document>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式