读取 XML 给出空值

本文关键字:空值 XML 读取 | 更新日期: 2025-02-19 12:26:46

<tours xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://api.contiki.com/schemas/v2/detailed_tours.xsd">
<tour>
  <id>290</id>
  <name>Peru Uncovered</name>
  <lowest_price>
    <code>11D15a</code>
  </lowest_price>
 </tour>
</tours>

我想读Id, namecode.我正在尝试此代码

XmlTextReader reader = new XmlTextReader(downloadfolder);
XmlDocument doc = new XmlDocument();
XmlNode node = doc.ReadNode(reader);
foreach (XmlNode chldNode in node.ChildNodes)
{
    string employeeName = chldNode.Attributes["name"].Value;
}

但是我正在变得无效。谁能告诉我如何读取值?我不能使用 Linq,因为我在不支持 linq 的 SSIS 2008 项目中工作。

更新的答案

XmlTextReader reader = new XmlTextReader(downloadfolder);
while (reader.Read())
{
    switch (reader.NodeType)
    {
        case XmlNodeType.Element: // The node is an element.
            string node = reader.Name;
            if (node == "id")
            {
                string id = reader.ReadString();
            }
            if (node == "name")
            {
                string name = reader.ReadString();
            }
            if (node == "code")
            {
                string code = reader.ReadString();
            }
            break;
    }

我可以读取这些值,但如何将这些值作为一行添加到数据表中?

读取 XML 给出空值

这里的"name"节点类型是element。

以下代码可用于节点类型检查

XmlTextReader reader = new XmlTextReader ("<file name>");
            while (reader.Read()) 
            {
                switch (reader.NodeType) 
                {
                    case XmlNodeType.Element: 

参考 : http://support.microsoft.com/en-us/kb/307548