【发布时间】:2020-05-24 00:01:28
【问题描述】:
我想显示不带属性的子节点的标签名称。然后这些标签名称(节点)应该放在字符串的List 中。这是我的 XML 文件的示例:
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CAR>
<ID>21</ID>
<MANUFACTURER>Ford</MANUFACTURER>
<MODEL>Fiesta</MODEL>
</CAR>
<CAR>
<ID>22</ID>
<MANUFACTURER>Peugeot</MANUFACTURER>
<MODEL>508</MODEL>
</CAR>
</ROOT>
所以,我想在控制台输出中得到的效果如下所示:
ID
MANUFACTURER
MODEL
然后我想将该 ID、MANUFACTURER 和 MODEL 标记名称存储在字符串的 List 中。
这是我目前尝试过的代码:
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.PreserveWhitespace = true;
try
{
xmlDocument.Load("XMLFile.xml");
}
catch (FileNotFoundException ex)
{
Console.WriteLine(ex);
}
Console.WriteLine(xmlDocument.OuterXml);
XmlNodeList nodeList = xmlDocument.SelectNodes("ROOT/CAR");
foreach(XmlNode node in nodeList)
{
Console.WriteLine(node.ChildNodes);
xmlNodes.Add(node.ChildNodes.ToString());
}
问题是它没有按照我想要的方式显示。结果我只得到了两个System.Xml.XmlChildNodes,这似乎对应于两个<CAR>节点,而不是它的三个子节点,例如ID、MANUFACTURER和MODEL。
System.Xml.XmlChildNodes
System.Xml.XmlChildNodes
将项目添加到列表中基本上添加的内容与上面显示的相同。
我做错了什么?
【问题讨论】:
-
您要添加到列表中,标签的值或标签名称
ID MANUFACTURER MODEL? -
不是值,只是标签名称。
-
我已经添加了一个答案,你能检查一下并告诉我,如果它对你有用。
-
谢谢,等我回到电脑上试试你的代码