gpt4 book ai didi

c# - 读取具有未知根/父节点的 XML 节点时出现问题

转载 作者:太空宇宙 更新时间:2023-11-03 20:38:16 24 4
gpt4 key购买 nike

我一直在尝试读取一个 xml 文件。我必须提取节点“日期”和“名称”的值,但问题是,它们可能出现在 XML 层次结构的任何级别。

所以当我尝试使用这段代码时,

        XmlDocument doc = new XmlDocument();
doc.Load("test1.xml");
XmlElement root = doc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("//*");
string date;
string name;

foreach (XmlNode node in nodes)
{
date = node["date"].InnerText;
name = node["name"].InnerText;
}

XML 文件是::

<?xml version="1.0" encoding="utf-8"?>
<root>
<child>
<name>Aravind</name>
<date>12/03/2000</date>
</child>
</root>

上面的代码出错了,为<name><date>不是 root 的直接子元素。
是否可以假设父节点/根节点是未知的并且只使用节点的名称,复制值??

最佳答案

根据您遇到的异常情况,这可能是也可能不是确切的解决方案。但是,在对它们执行 .InnerText 之前,我肯定会检查 datename 是否存在。

    foreach (XmlNode node in nodes)
{
dateNode = node["date"];
if(dateNode != null)
date = dateNode.InnerText;
// etc.
}

关于c# - 读取具有未知根/父节点的 XML 节点时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4185049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com