读取 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, name
和code
.我正在尝试此代码
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;
}
我可以读取这些值,但如何将这些值作为一行添加到数据表中?
这里的"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