读取xmlnode子标记值

问题描述 投票:0回答:1

我的xml文件如下所示。

<mappings>
<mapping>
<a>a1value</a>
<b>
<c>
<d>d1value</d>
<e>e1value</e>
</c>
</b>
</mapping>
<mapping>
<a>a2value</a>
<b>
<c>
<d>d2value</d>
<e>e2value</e>
</c>
</b>
</mapping>
</mappings>

C#代码读取a,d标签的值。

XmlDocument xmlDocNew = new XmlDocument();
XmlElement CATLOG = xmlDocNew.CreateElement("mappings");
XmlNode xmlNodeTab = xmltest.DocumentElement;
XmlNodeList xmlNodeListCD = xmlNodeTab.SelectNodes("//mapping");
foreach (XmlNode xmlNodeCD in xmlNodeListCD)
{
   string innerText = xmlNodeCD["a"].InnerText;
   string xmlNodeapp = xmlNodeCD["//b/c/d"].InnerText;
}

使用以上代码,我可以遍历所有“ a”标签元素。但是我无法读取“ d”标签值。如何读取“ d”标签的值?

当我遍历foreach循环中的每个元素时,我想获取“ a”标记的值及其对应的“ d”标记值。

c# xmlnode
1个回答
0
投票

此代码查看每个映射,并在其下查找标签ad的值。还要注意,如果要查找“ sub”标签并仅获取这些子项,则必须使用.//而不是仅使用//。点表示法将节点拉到当前节点的“下方”。

© www.soinside.com 2019 - 2024. All rights reserved.